PHPackages                             sashagm/cpu - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. sashagm/cpu

ActiveLibrary[Testing &amp; Quality](/categories/testing)

sashagm/cpu
===========

CPU Sniffer Laravel +10.x

2.10.2(1y ago)036MITPHPPHP ^8.0

Since May 5Pushed 1y ago1 watchersCompare

[ Source](https://github.com/sashagm/cpu)[ Packagist](https://packagist.org/packages/sashagm/cpu)[ RSS](/packages/sashagm-cpu/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (19)Used By (0)

[![Laravel Logo](https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg)](https://laravel.com)

[![Total Downloads](https://camo.githubusercontent.com/5d7c17933cd1b8cd6b10b2c2fe2f2647f3aeabd8df9d9f8cd92d1ef140eb8f22/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7361736861676d2f637075)](https://packagist.org/packages/sashagm/cpu)[![Latest Stable Version](https://camo.githubusercontent.com/35d117f815a110dfadb7295ec8516e70b94a37896da114805ec3662410b34204/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7361736861676d2f637075)](https://packagist.org/packages/sashagm/cpu)[![License](https://camo.githubusercontent.com/5645c92dc5e013f2e83d0c89d2588b543a7dde6c7de6f901d50d37b54857cc8d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7361736861676d2f637075)](https://packagist.org/packages/sashagm/cpu)[![Code size](https://camo.githubusercontent.com/42679f121195ed44fb56d28e513cc335706c5514292ba81b11292a594eb40c37/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f7361736861676d2f637075)](https://packagist.org/packages/sashagm/cpu)[![Code size](https://camo.githubusercontent.com/91d4e8fe3d0638a8f900aa36fdf20f894c4fd25fdd3d8ae28347dc605bea158c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f73746172732f7361736861676d2f637075)](https://packagist.org/packages/sashagm/cpu)

[![PHP Version](https://camo.githubusercontent.com/2d8db17638478a10e3f421691ab607acf7433b1838e8d27b729078b6d7ba95cd/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253242382d626c7565)](https://www.php.net/)[![Laravel Version](https://camo.githubusercontent.com/ac7bcd56dc398c4b976fabb8678d298e432a18e54308f82fc0cbdc09b42a3a4c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d25324231302d726564)](https://laravel.com/)

CPU Sniffer
-----------

[](#cpu-sniffer)

CPU Sniffer - это пакет для Laravel, который позволяет управлять ЧПУ (человекопонятными ссылками) в вашем приложении. Он использует функционал Laravel Route bind для определения, какой параметр использовать в URL: SLUG или ID. А так же вы можете быстро переключаться между режимами и выводить уникальные ссылки вашим пользователям.

### Оглавление:

[](#оглавление)

- [Требования](#%D1%82%D1%80%D0%B5%D0%B1%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)
- [Установка](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
- [Использование](#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
    - [Применение роутов](#%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D1%80%D0%BE%D1%83%D1%82%D0%BE%D0%B2)
- [Дополнительные возможности](#%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D0%B8)
- [Тестирование](#%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
- [Лицензия](#%D0%BB%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F)

#### Требования

[](#требования)

Основные требования для установки и корректной работы:

- `PHP` &gt;= 8.0
- `Laravel` &gt;= 10.x
- `Composer` &gt;= 2.4.x

#### Установка

[](#установка)

- composer require sashagm/cpu
- php artisan cpu:install

#### Использование

[](#использование)

После установки пакета, вам необходимо выполнить следующие шаги:

1. В конфигурационном файле `/config/cfg.php` определите параметры `cpu_url` и `routes`.
2. В параметре `cpu_url`, который будет определять, какой тип ссылок будет использоваться.
3. В параметре `routes` определите необходимые маршруты с указанием имени, модели и запроса.
4. Запустите команду `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](LICENSE.md).

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 94.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~29 days

Recently: every ~107 days

Total

18

Last Release

614d ago

Major Versions

1.1.0 → 2.0.02023-05-06

PHP version history (2 changes)1.0.0PHP ^7.3|^8.0

2.3.0PHP ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/6ed652aeb98c0dac110b4fc109d51f62f81f4975ecd85f6db6a5e35486dfc930?d=identicon)[sashagm](/maintainers/sashagm)

---

Top Contributors

[![example123](https://avatars.githubusercontent.com/u/87628?v=4)](https://github.com/example123 "example123 (17 commits)")[![sashagm](https://avatars.githubusercontent.com/u/74922473?v=4)](https://github.com/sashagm "sashagm (1 commits)")

---

Tags

cpularavellaravel-packagephpphpuniturl

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sashagm-cpu/health.svg)

```
[![Health](https://phpackages.com/badges/sashagm-cpu/health.svg)](https://phpackages.com/packages/sashagm-cpu)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[phpspec/phpspec

Specification-oriented BDD framework for PHP 7.1+

1.9k36.7M3.1k](/packages/phpspec-phpspec)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
