tsubasarcs / laravel-recommendation
cp member get member database package
5.5.10
2019-05-10 02:25 UTC
Requires
- php: >=7.1
- illuminate/database: ^5.5
- illuminate/support: ^5.5
Requires (Dev)
- mockery/mockery: ~1.0
- orchestra/database: ^3.5
- orchestra/testbench: ^3.5
- phpunit/phpunit: ~6.0
README
此包为Laravel生成用户唯一代码。
安装
当前此包仅适用于laravel 5.5。
通过composer安装
$ composer require tsubasarcs/laravel-recommendation
发布迁移和配置
在终端运行以下命令以发布迁移
$ php artisan vendor:publish --provider="Tsubasarcs\Recommendations\RecommendationServiceProvider" --tag="migrations"
如果您想更改某些参数,可以在终端运行以下命令以发布配置
$ php artisan vendor:publish --provider="Tsubasarcs\Recommendations\RecommendationServiceProvider" --tag="config"
设置
推荐模型
如果您想自定义模型和列,请检查推荐模型 "code" 列以防止代码重复。
// config/recommendation.php ... 'model' => [ 'name' => \Tsubasarcs\Recommendations\Recommendation::class, 'code_column' => 'code', ],
默认情况下,推荐模型属于 \Tsubasarcs\Recommendations\IlluminateUser::class
,您需要将其更改为您的应用程序模型。
// config/recommendation.php ... 'relation_model' => \Tsubasarcs\Recommendations\IlluminateUser::class,
默认属性
通过设置默认键值可以自定义生成代码的类型和长度属性。
// config/recommendation.php ... 'default' => [ 'type' => 1, 'length' => 10, ],
代码结构分为三部分:prefix
、timestamp
和code
。
您可以选择是否连接 prefix
和 timestamp
,并自定义部分之间的 symbol
。
// config/recommendation.php ... // Default only code. 'code_structure' => [ 'prefix' => '', 'timestamp' => false, 'symbol' => '-' ]
用法
生成代码
代码门面端点是 generate()
,它将返回一个数组。
Code::generate(); // [['type' => 1,'code' => 'X6nbxJ8DHk']];
如果您没有使用端点,它将返回 CodeService
实例。
Code::type(2); // Tsubasarcs\Recommendations\CodeService {#result: [], #times: 1, #type: 2, #length: 10};
#示例
Code::prefix('cp') ->timestamp(true) ->symbol('@') ->type(2) ->length(15) ->times(2) ->generate(); // [ // ["type" => 2, "code" => "cp@1557454693@4PZHxJXdM7K8OBo"], // ["type" => 2, "code" => "cp@1557454693@rnExFAeD18GDMhs"] // ]; 'X6nbxJ8DHk' // default 'cp-X6nbxJ8DHk' // config('recommendation.code_structure.prefix') == 'cp' '1557287118-Gnr3olcOD6' // config('recommendation.code_structure.timestamp') == true 'cp_1557287118_X6nbxJ8DHk' // config('recommendation.code_structure.prefix') == 'cp' // config('recommendation.code_structure.timestamp') == true // config('recommendation.code_structure.symbol') == '_'