https://github.com/nikitakls/gii-crud-services
Устанавливается через composer:
Код: Выделить всё
composer require --dev nikitakls/yii2-gii-scrud "*"
Код: Выделить всё
$config['modules']['gii'] = [
'class' => 'yii\gii\Module',
'generators' => [
'scrud' => [
'class' => 'nikitakls\gii\scrud\Generator',
]
],
];
На выходе получается такая структура:
- /forms/ModelForm.php
- /repository/ModelRepository.php
Код: Выделить всё
class ModelRepository{ public function get($pk) protected function getByPk($id, $canCache = true, $pk = 'id') protected function getBy($condition) public function remove(Model $model) public function clearCache() public function save(Model $model, $runValidation = true, $attributeNames = null) }
- /services/ModelService.php
Код: Выделить всё
class ModelService{ public function __construct(ModelRepository $Models) public function create(ModelForm $form) public function edit(int $id, ModelForm $form) public function remove(int $id) }
- /controllers/ModelController.php
- /models/ModelSearch.php
- views