matthew-p / yii2-services
该扩展为模型和控制器提供了非常简单易用的服务
3.1
2019-07-29 08:32 UTC
Requires
- php: ^7.1
- yiisoft/yii2: ^2.0.13
Requires (Dev)
- phpunit/phpunit: ^7.2
README
该扩展为模型和控制器提供了非常简单易用的服务
安装
安装此扩展的首选方式是通过 composer。
运行以下命令之一:
php composer.phar require --prefer-dist matthew-p/yii2-services "*"
或者在您的 composer.json
文件的 require 部分添加以下内容:
"matthew-p/yii2-services": "*"
到
使用
扩展安装完成后,只需在您的代码中按照以下方式使用它:
为模型创建服务(必须实现 IService 或扩展 MP\Services 中的任何服务)
use MP\Services\BaseModelService; /** * ... * * @property SampleModel $model */ class MyCustomService extends BaseModelService { /** * My simple method * * @return array */ public function getSampleMethod(): array { return []; } }
创建模型
... use MP\Services\ImplementServices; /** * Use services in model * ... * * Services * @property MyCustomService $customService */ class SampleModel extends ActiveRecord { use ImplementServices; /** * @inheritdoc */ public static function services(): array { return [ 'customService' => MyCustomService::class, ]; } ... }
并使用
$model = new SampleModel(); $model->customService->getSampleMethod();
对于控制器,一切相同,只是服务是从 BaseControllerService 继承的
测试
使用以下命令运行测试
./vendor/bin/phpunit