smorken / ext-controller
为 Laravel 6+ 扩展的控制器助手
v6.2
2021-07-26 17:15 UTC
Requires
- php: ^7.2||^8.0
Requires (Dev)
- illuminate/routing: ^6.0
- illuminate/support: ^6.0
- mockery/mockery: ^1.0
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
- smorken/cache-assist: ^6.0
- smorken/docker: *
- smorken/storage: ^6.0
This package is auto-updated.
Last update: 2024-09-27 00:03:13 UTC
README
Laravel 控制器扩展
包含一些基本 Laravel 控制器的助手。
BaseController
包含一些最小功能,包括设置模板视图、视图名称和子导航键。
具有完整功能的控制器
<?php
use App\Contracts\Storage\MyProvider;
use App\Http\Requests\Admin\MyFormRequest;
use Illuminate\Foundation\Http\FormRequest;
use Smorken\Ext\Controller\Traits\IndexFiltered;
use Smorken\Ext\Controller\Traits\Crud;
class MyController extends \Smorken\Ext\Controller\BaseController
{
use IndexFiltered, Crud {
doSave as traitDoSave;
}
/**
* Base view "path". View name of route is appended to create
* the complete view name
*/
protected $base_view = 'admin.my';
/**
* Optional property that is passed to the view (can
* be used to dynamically include a content layout
* in a master blade template
*/
protected $template = 'layouts.templates.two_col';
public function __construct(MyProvider $provider) {
$this->setProvider($provider);
parent::__construct();
}
public function doSave(MyFormRequest $request, $id = null)
{
return $this->traitDoSave($request, $id);
}
protected function getAttributes(FormRequest $request)
{
return $request->only(['foo', 'bar']);
}
}
此示例控制器将依赖于以下命名的视图
- /admin/my
- create.blade.php
- delete.blade.php
- index.blade.php
- update.blade.php
- view.blade.php
特性
Actions
:包含向视图中添加功能的功能。
Cache
:包含清除缓存的功能。
Core
:包含核心功能,设置共享变量、视图名称等。包含通用的路由构建器。
Create
:包含 create
get 路由
Crud
:包括进行基本 CRUD 操作所需的所有特性
Delete
:包含 delete
和 doDelete
路由
Filter
:包含创建过滤器功能
Index
:包含 index
路由
IndexFiltered
:包含带有过滤器的 index
路由
Model
:包含 loadModel
方法
Provider
:包含处理提供者的方法
Save
:包含 doSave
post 路由
Update
:包含 update
get 路由
View
:包含 view
get 路由