sashagm / cpu
CPU Sniffer Laravel +10.x
Installs: 35
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/sashagm/cpu
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^10.2
README
CPU Sniffer
CPU Sniffer - это пакет для Laravel, который позволяет управлять ЧПУ (человекопонятными ссылками) в вашем приложении. Он использует функционал Laravel Route bind для определения, какой параметр использовать в URL: SLUG или ID. А так же вы можете быстро переключаться между режимами и выводить уникальные ссылки вашим пользователям.
Оглавление:
Требования
Основные требования для установки и корректной работы:
PHP>= 8.0Laravel>= 10.xComposer>= 2.4.x
Установка
- composer require sashagm/cpu
- php artisan cpu:install
Использование
После установки пакета, вам необходимо выполнить следующие шаги:
- В конфигурационном файле
/config/cfg.phpопределите параметрыcpu_urlиroutes. - В параметре
cpu_url, который будет определять, какой тип ссылок будет использоваться. - В параметре
routesопределите необходимые маршруты с указанием имени, модели и запроса. - Запустите команду
php artisan optimizeдля обновления маршрутов.
Пример конфигурационного файла cfg.php:
return [ 'cpu_url' => 1, // 1 - Режим slug, 0 - Режим id 'routes' => [ [ 'name' => 'post', // Маршрут 'model' => 'App\Models\Post', // Модель 'query' => ['slug'] // Параметр для slug ], [ 'name' => 'user', 'model' => 'App\Models\User', 'query' => ['id'] ] ] ];
В данном примере определены два маршрута: post и user. Для маршрута post используется модель App\Models\Post и параметр slug в запросе, а для маршрута user - модель App\Models\User и параметр id в запросе.
Таким образом, мы можем добавлять новые роуты и соответствующие им модели в массив routes в конфиге /config/cfg.php, а метод boot() будет автоматически биндить их при запуске приложения.
Итак, теперь наш функционал более гибкий и позволяет работать с различными типами ссылок.
Применение роутов
Пример Route Items.
Route::get('/post/{post}', function (App\Models\Post $post) { dump($post); })->name('post');
Теперь при обращении к маршруту /posts/my-first-post будет загружена модель Post с полем slug равным my-first-post, если параметр cpu_url установлен в значение 'slug'. Если же параметр cpu_url равен 'id', то будет загружена модель с соответствующим идентификатором. Если параметр cpu_url установлен в любое другое значение, будет выброшено исключение.
Дополнительные возможности
Наш пакет предоставляет ряд дополнительных возможностей, которые могут быть полезны при работе с чпу:
php artisan cpu:install- Данная команда установит все необходимые файлы.
Тестирование
Для проверки работоспособности можно выполнить специальную команду:
- ./vendor/bin/phpunit --configuration phpunit.xml
Лицензия
CPU Sniffer - это программное обеспечение с открытым исходным кодом, лицензированное по MIT license.