hypnotract / laravel-view-identifiers
在 Laravel 5 中快速设置全局类和全局 ID 到主 HTML DOM 元素。
此包的规范存储库似乎已丢失,因此包已被冻结。
Requires
- php: >=5.4
- illuminate/support: >=5.0
This package is not auto-updated.
Last update: 2020-06-07 06:31:20 UTC
README
在 Laravel 5 中快速将视图标识符设置到主 HTML DOM 元素。让我们称这些标识符为:全局类和全局 ID。
文档
可能性
此包为您提供了以下可能性
- 根据某些后端标准在主 HTML 元素上设置标识符
- 在 JavaScript 或 CSS 中轻松检测加载了哪个页面
- 仅在特定页面上进行 DOM 操作,例如在所有管理员面板页面上
- 仅在特定页面上设置某些样式,例如在所有文章查看页面上,但在管理员面板中不设置
等等。
安装
对于 Laravel 的旧版本(尚未测试),请参阅:[Laravel 5.0-5.4](https://github.com/hypnotract/laravel-view-identifiers/tree/5.0.0) 和 [Laravel 5.5](https://github.com/hypnotract/laravel-view-identifiers/tree/5.5.0)。
composer require hypnotract/laravel-view-identifiers
配置
您可以通过发布配置文件来更改默认设置。
php artisan vendor:publish --provider="Hypnotract\ViewIdentifier\ServiceProvider" --tag=config
样式转换
支持的值和示例
kebab 将字符串转换为 "kebab-case"。
snake 将字符串转换为 "snake_case"。
camel 将字符串转换为 "camelCase"。
studly 将字符串转换为 "StudlyCase"。
自动发现
默认情况下,自动发现已启用。这意味着将根据控制器和操作名称为您设置类和 ID。
控制器命名空间
如果您的控制器命名空间与默认的 App\Http\Controllers 不同,您可以设置自己的命名空间。
用法
默认值
默认情况下,类和 ID 的自动发现已启用,您可以直接将这些设置到所需的 HTML 元素中。
<div class="content {{ ViewIdentifier::class()->get() }}">
<html id="{{ ViewIdentifier::id()->get() }}" lang="en">
<body id="{{ ViewIdentifier::id()->get() }}" class="{{ ViewIdentifier::class()->get() }}">
要禁用自动发现,请参阅配置自动发现。
示例
App\Http\Controllers\Web\PageController::show 将获取 id web-page-show 和 class: web page show。
App\Http\Controllers\Admin\PageController::edit 将获取 id admin-page-edit 和 class: admin page edit。
App\Http\Controllers\ArticleController::view 将获取 id article-view 和 class: article view。
自定义标识符
如果您想设置自定义的或任何其他标识符,可以这样做:
\ViewIdentifier::id()->set('whateverId'); \ViewIdentifier::class()->push('whateverClass'); \ViewIdentifier::class()->push('whateverSecondClass');
您可以以任何您想要的字母大小写样式传递字符串,因为它们将被转换为配置文件中设置的样式。
示例
use ViewIdentifier; class AdminController extends Controller { public function __construct() { parent::__construct(); ViewIdentifier::class()->push('adminPanel'); } } class ArticlesController extends AdminController { public function __construct() { parent::__construct(); ViewIdentifier::class()->push('article'); } public function index() { ViewIdentifier::class()->push('index'); $articles = Article::index()->paginate(25); return View::make('admin.articles.index')->with(compact('articles')); } }
在 ViewIdentifier::class()->get() 中的结果 class 将是: admin-panel article index。
需要帮助吗?
请使用 GitHub 的问题提交所有问题和疑问,我将尽力帮助您。
致谢
许可证
Laravel View Identifiers 是在 MIT 许可证下免费分发的软件。