taskforcedev / laravel-support
Laravel支持包。被其他Taskforcedev包使用。
Requires
- php: >=5.6.4
- illuminate/support: 5.*
Requires (Dev)
- phpunit/phpunit: 5.3.*
This package is not auto-updated.
Last update: 2024-09-22 07:17:47 UTC
README
Taskforcedev Laravel包的支持包。
提供了一种一致的方式来获取用户指定的布局、站点名称和用户管理权限(如果适用,则使用用户模型上的约定)。
构建状态
需求
- Laravel 5.3+
特性
- 提供了一个“基础”控制器,可以扩展以确保所有视图都能访问buildData方法。
- 提供了一个单一的地方来编辑所有Taskforcedev包的配置(其他包也可以要求这个)。
- 如果您的用户模型遵循我们的一些已知约定,则提供了授权助手支持。
- 提供了用户模型命名空间检测,允许包轻松与用户模型交互。
安装
将以下行添加到您的composer require中:(如果您已经有依赖laravel-support的包,则不需要此步骤)
Laravel 5.3
"require": {
"taskforcedev/laravel-support": "1.0.*"
},
Laravel 5.4
"require": {
"taskforcedev/laravel-support": "1.1.*"
},
然后,如果您还没有在config/app.php中添加以下条目,请添加它
Taskforcedev\LaravelSupport\ServiceProvider::class,
配置
此包提供了一个单一的位置,其中可以配置和使用以下内容,由使用此包的包使用。
-
布局(使用哪个布局,如果设置为自定义布局,则为所有包提供相同的视觉主题)。
-
框架,允许您指定在布局中启用了哪些框架 - 其他包可以使用此信息来加载适当的显示。
发布配置
为了编辑配置,请运行以下命令将taskforce-support.php文件发布到您的应用配置目录
php artisan vendor:publish --tag="taskforce-support"
控制器
该包提供了一个控制器,如果您的控制器扩展了它,则将提供buildData($data = [])方法,允许所有控制器访问相同的一组共享数据。
除了共享数据外,此方法还接受一个数组,这些额外值将添加到数据对象中。
示例
use Taskforcedev\LaravelSupport\Http\Controllers\Controller
class MyController extends Controller
{
public function index()
{
$data = [
'title' => 'My Page',
'description' => 'This is my page',
];
$data = $this->buildData();
return view('myview', $data);
}
}
助手
用户
获取用户模型
这可以在包内的eloquent关系中使用,以防止在外部配置中硬编码或配置用户模型。或任何其他需要用户模型名称的地方。
示例
use Taskforcedev\LaravelSupport\Helpers\User as UserHelper;
Class whatever
{
public function author() {
$userHelper = new UserHelper();</code>
$model = $userHelper->getUserModel();
return $this->belongsTo($model);
}
}
贡献
问题和拉取请求总是受欢迎的,特别是与新的UI外观相关的内容。
请确保任何PHP都符合PSR-2标准。
对于其他任何内容,请提出GitHub问题。