ngmy / okuribito-laravel
OkuribitoLaravel 可以监控视图加载并记录,这有助于删除未使用的视图文件。
Requires
- php: ^7.1.3
- illuminate/support: 5.5.*|5.6.*|5.7.*|5.8.*
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- mockery/mockery: ^1.0
- orchestra/testbench: 3.5.*|3.6.*|3.7.*|3.8.*
- php-coveralls/php-coveralls: ^2.1
- phpstan/phpstan: ^0.11
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.0
- symfony/filesystem: ^4.0
This package is auto-updated.
Last update: 2024-08-29 05:06:55 UTC
README
OkuribitoLaravel 可以监控视图加载并记录,这有助于删除未使用的视图文件。
本软件包受 Ruby 的 Okuribito 钥匙环宝石的启发,链接:[Ruby's Okuribito gem](https://github.com/shakemurasan/okuribito)。
要求
OkuribitoLaravel 有以下要求
- PHP >= 7.1.3
- Laravel >= 5.5
安装
执行 Composer 的 require
命令
composer require ngmy/okuribito-laravel
这将更新您的 composer.json
文件并将此软件包安装到 vendor
目录。
迁移
执行 Artisan 的 migrate
命令
php artisan migrate
这将创建您的数据库中的 view_load_logs
表。
发布配置
执行 Artisan 的 vendor:publish
命令
php artisan vendor:publish
这将发布配置文件到 config/ngmy-okuribito-laravel.php
文件。
您还可以使用标签来执行命令
php artisan vendor:publish --tag=ngmy-okuribito-laravel
您还可以使用服务提供者来执行命令
php artisan vendor:publish --provider="Ngmy\OkuribitoLaravel\OkuribitoServiceProvider"
基本用法
更新 config/ngmy-okuribito-laravel.php
文件的 monitor_views
选项为要监控加载的视图
'monitor_views' => 'your.view.foo',
您也可以指定多个视图
'monitor_views' => [ 'your.view.bar', 'your.view.baz', ],
您也可以使用通配符
'monitor_views' => 'your.view.*',
此值与 Laravel 的 View::composer
方法的第一个参数格式相同,链接:[Laravel's View::composer
method](https://laravel.net.cn/docs/5.5/views#view-composers)。
当指定的视图加载时,它会记录到您的数据库中的 view_load_logs
表。
您还有其他可用的选项。请参阅 config/ngmy-okuribito-laravel.php
文件以获取详细信息。
高级用法
自定义记录方法
创建 ViewLoadLogRepositoryInterface
接口的实现。
<?php declare(strict_types=1); namespace Your\Namespace; use Ngmy\OkuribitoLaravel\Domain\Model\View\View; use Ngmy\OkuribitoLaravel\Domain\Model\ViewLoadLog\ViewLoadLog; use Ngmy\OkuribitoLaravel\Domain\Model\ViewLoadLog\ViewLoadLogRepositoryInterface; class YourViewLoadLogRepository implements ViewLoadLogRepositoryInterface { public function existsByView(View $view): bool { // Implement your existsByView() method here } public function save(ViewLoadLog $log): void { // Implement your save() method here } }
将 ViewLoadLogRepositoryInterface
接口绑定到您在服务提供者的 register
方法中的实现。
$this->app->bind( \Ngmy\OkuribitoLaravel\Domain\Model\ViewLoadLog\ViewLoadLogRepositoryInterface::class, \Your\Namespace\YourViewLoadLogRepository::class );
许可
OkuribitoLaravel 是开源软件,受 MIT 许可证许可,链接:[MIT license](https://open-source.org.cn/licenses/MIT)。