pion / laravel-support-controllers
Laravel Controller的支持类/特性集
Requires
- illuminate/support: 5.*
Requires (Dev)
- phpunit/phpunit: ^4.8
Suggests
- atorscho/crumbs: Required to use with CrumbsNavigationTrait (~2.1.5) and laravel framework (5.1.*).
This package is auto-updated.
Last update: 2024-09-21 20:43:42 UTC
README
需求
- Laravel 5.1+ 或 5.2+
安装
无面包屑
composer require pion/laravel-support-controllers
有面包屑
composer require pion/laravel-support-controllers
composer require atorscho/crumbs 2.2
URLTrait
为当前控制器添加了一组新的保护函数。允许在无需控制器命名空间的情况下,通过命名空间获取控制器名称(如果需要自定义命名空间,请覆盖“getControllersRootNamespace”方法)。同时,您还可以获取当前URL、控制器动作字符串(用于URL)和给定动作的控制器URL。
方法
getCurrentActionForName($action);
getCurrentActionURL($action, $parameters = []);
getControllerName();
getCurrentFullURL();
AbstractNavigationTrait
加载URLTrait并允许为资源控制器(或任何控制器)创建导航。支持创建当前页面链接、带链接到列表页(索引页)的当前页面链接、模型名称和链接到详情操作(或编辑等)。URL示例可以是
示例
- 在构造函数中设置listTitle(列表页)
- 模型必须实现getName函数(您可以使用NavigationModelTrait)以启用未来的其他功能
/sites - 调用createNavigation()而不设置标题 结果:列表页
/sites/create - 调用createNavigation("New page"); 结果:列表页 -> New page
/sites/1/edit - 调用createNavigation("Edit", $object); 结果:列表页 -> name -> Edit
/sites/1/edit - 模型没有详情视图,调用createNavigation("Edit", $object); 结果:列表页 -> name
等等。
定制
您可以更改一些属性
$listModelAction
列表的控制器动作名称$detailModelAction
详情操作的控制器动作名称(默认为show,如果不支持则可以是edit)$listTitle
列表的标题
当createNavigation被触发时,您可以处理一些状态
beforeAddingListNavigation($title = null, $modelToShow = null)
在添加列表导航之前触发。仅在支持列表页时调用
beforeAddingModelActionNavigation($model, $title = null)
在添加模型操作之前触发(编辑/显示等)
addCrumbNavigationToList
调用带有列表动作的addNavigation
addCrumbNavigationForModel
调用带有给定URL和模型名称的addNavigation,方法必须返回布尔值以表示导航是否已添加。
CrumbsNavigationTrait
实现了Crumbs导航与AbstractNavigationTrait特性