pion/laravel-support-controllers

Laravel Controller的支持类/特性集

v1.0.2 2016-06-21 16:28 UTC

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特性