PHPackages                             uzbek/laravel-attribute-scanner - 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. uzbek/laravel-attribute-scanner

ActiveLibrary

uzbek/laravel-attribute-scanner
===============================

PHP8 Attribute scanner for Laravel project

0.1.7(3y ago)11.0k[4 PRs](https://github.com/professor93/laravel-attribute-scanner/pulls)1MITPHPPHP ^8.1

Since Oct 12Pushed 2y ago1 watchersCompare

[ Source](https://github.com/professor93/laravel-attribute-scanner)[ Packagist](https://packagist.org/packages/uzbek/laravel-attribute-scanner)[ Docs](https://github.com/professor93/laravel-attribute-scanner)[ RSS](/packages/uzbek-laravel-attribute-scanner/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (9)Dependencies (12)Versions (14)Used By (1)

PHP8 Attribute scanner for Laravel project
==========================================

[](#php8-attribute-scanner-for-laravel-project)

[![Latest Version on Packagist](https://camo.githubusercontent.com/2687ddc3fad458886935d9a45abbc07cbda0b19adf897109dbcc2a8d62cf81dc/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f757a62656b2f6c61726176656c2d6174747269627574652d7363616e6e65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/uzbek/laravel-attribute-scanner)[![GitHub Tests Action Status](https://camo.githubusercontent.com/ab5a3cda0911b7ca78366a8dcf83e9c7f25df5e63a3375295b2c0489d1cfef1c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f70726f666573736f7239332f6c61726176656c2d6174747269627574652d7363616e6e65722f72756e2d74657374733f6c6162656c3d7465737473)](https://github.com/professor93/laravel-attribute-scanner/actions?query=workflow%3Arun-tests+branch%3Amain)[![GitHub Code Style Action Status](https://camo.githubusercontent.com/cfed0c2b2f4389f0e2c6729cd0a2fda971dc654e6c36401474137476fd11996e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f70726f666573736f7239332f6c61726176656c2d6174747269627574652d7363616e6e65722f466978253230504850253230636f64652532307374796c652532306973737565733f6c6162656c3d636f64652532307374796c65)](https://github.com/professor93/laravel-attribute-scanner/actions?query=workflow%3A%22Fix+PHP+code+style+issues%22+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/360e4fe122aa3c6b3155627bd45a5602dada80cf6352ed7359a57b3e2cad2ac8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f757a62656b2f6c61726176656c2d6174747269627574652d7363616e6e65722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/uzbek/laravel-attribute-scanner)

PHP8 Attribute scanner for Laravel project

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require uzbek/laravel-attribute-scanner
```

Usage
-----

[](#usage)

```
use Uzbek\LaravelAttributeScanner\Facades\AttributeScanner;

$attributes = AttributeScanner::getAttributes(asArray: true);

// or

use Uzbek\LaravelAttributeScanner\LaravelAttributeScanner;

$scanner = new LaravelAttributeScanner(directories: ['app/Models', 'app/Http/Controllers']);
$attributes = $scanner->getAttributes();
```

Result examples
---------------

[](#result-examples)

### asArray = false (default)

[](#asarray--false-default)

```
[
    "App\Http\Controllers\UserController@create" => [{...},{...}], #Uzbek\LaravelAttributeScanner\Attribute[],   (method)
    "App\Http\Controllers\UserController@update>id" => [{...}], #Uzbek\LaravelAttributeScanner\Attribute[],   (parameter)
    "App\Http\Controllers\UserController.service" => [{...}], #Uzbek\LaravelAttributeScanner\Attribute[],   (property)
]
```

### asArray = true

[](#asarray--true)

```
[
    "App\Http\Controllers\UserController@create" => [
        [
            "class" => "App\Http\Controllers\UserController",
            "method" => "create",
            "target" => "method",
            "name" => "Uzbek\LaravelValidationAttributes\Attributes\Validators",
            "arguments" => [
                [
                    "name" => "required|string",
                    "email" => "required|email",
                    ...
                ],
            ],
        ]
    ],
    "App\Http\Controllers\UserController@update>id" => [
        [
            "class" => "App\Http\Controllers\UserController",
            "method" => "update",
            "target" => "parameter",
            "parameter" => "id",
            "name" => "Uzbek\SomeAttributes\ID",
            "arguments" => [],
        ]
    ],
    "App\Http\Controllers\UserController.service" => [
        [
            "class" => "App\Http\Controllers\UserController",
            "target" => "property",
            "property" => "service",
            "name" => "Uzbek\SomeAttributes\Readonly",
            "arguments" => [],
        ]
    ],
    "App\Http\Controllers\UserController:IS_PUBLIC" => [
        [
            "class" => "App\Http\Controllers\UserController",
            "target" => "constant",
            "constant" => "IS_PUBLIC",
            "name" => "Uzbek\SomeAttributes\Casts\Integer",
            "arguments" => [],
        ]
    ],
    ...
]
```

Testing
-------

[](#testing)

```
composer test
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Inoyatulloh](https://github.com/professor93)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 73.7% 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 ~21 days

Recently: every ~42 days

Total

9

Last Release

1136d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f02ce7bf39267c9918408c16c0568210e6bfb52b9fe5fb8f003a76ac5cb481a0?d=identicon)[uzbek](/maintainers/uzbek)

---

Top Contributors

[![professor93](https://avatars.githubusercontent.com/u/5443574?v=4)](https://github.com/professor93 "professor93 (28 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (5 commits)")

---

Tags

laraveluzbeklaravel-attribute-scanner

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/uzbek-laravel-attribute-scanner/health.svg)

```
[![Health](https://phpackages.com/badges/uzbek-laravel-attribute-scanner/health.svg)](https://phpackages.com/packages/uzbek-laravel-attribute-scanner)
```

###  Alternatives

[vormkracht10/laravel-mails

Laravel Mails can collect everything you might want to track about the mails that has been sent by your Laravel app.

24149.7k](/packages/vormkracht10-laravel-mails)[spatie/laravel-prometheus

Export Laravel metrics to Prometheus

2651.3M6](/packages/spatie-laravel-prometheus)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)[scalar/laravel

Render your OpenAPI-based API reference

6183.9k2](/packages/scalar-laravel)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

852.2k1](/packages/musahmusah-laravel-multipayment-gateways)

PHPackages © 2026

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