kikwik/referable-bundle

Doctrine 2 实体的可引用行为

安装: 34

依赖: 0

建议: 0

安全性: 0

星星: 0

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

v2.0.2 2023-04-28 15:25 UTC

This package is auto-updated.

Last update: 2024-09-28 18:37:11 UTC


README

此捆绑包将为 symfony 4 中的 Doctrine 2 实体保存引用值

安装

打开命令行,进入您的项目目录并执行以下命令以下载此捆绑包的最新稳定版本

$ composer require kikwik/referable-bundle

配置

创建 config/packages/kikwik_referable.yaml 配置文件

kikwik_referable:
    interfaces:
        CpcReferableInterface:
            cookie_name: 'r'
            query_params: ['r']
            expire: '+30 days'
        UtmReferableInterface:
            cookie_name: 'utm'
            query_params: [ 'utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content' ]
            expire: '+30 days'

在您的类中实现一个或多个接口并使用相应的特性(特性只能与示例中的 query_params 一起使用)

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Kikwik\ReferableBundle\Model\CpcReferableInterface;
use Kikwik\ReferableBundle\Model\CpcReferableTrait;
use Kikwik\ReferableBundle\Model\HttpReferableInterface;
use Kikwik\ReferableBundle\Model\HttpReferableTrait;
use Kikwik\ReferableBundle\Model\UtmReferableInterface;
use Kikwik\ReferableBundle\Model\UtmReferableTrait;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * @ORM\Entity(repositoryClass=UserRepository::class)
 * @ORM\Table(name="`user`")
 */
class User implements UserInterface, HttpReferableInterface, CpcReferableInterface, UtmReferableInterface
{
    use HttpReferableTrait;
    use CpcReferableTrait;
    use UtmReferableTrait;
    
    //...
}

创建迁移并更新您的数据库

$ php bin/console make:migration
$ php bin/console doctrine:migrations:migrate