PHPackages                             tur1/laravelmodules - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. tur1/laravelmodules

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tur1/laravelmodules
===================

A Laravel package for creating modules and pages

v1.4.0(1y ago)043MITPHPPHP ^7.4|^8.0

Since Oct 2Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Tur-1/Laravel-Modules)[ Packagist](https://packagist.org/packages/tur1/laravelmodules)[ RSS](/packages/tur1-laravelmodules/feed)WikiDiscussions main Synced 2d ago

READMEChangelogDependencies (1)Versions (32)Used By (0)

Laravel Modules Package
=======================

[](#laravel-modules-package)

`tur1/laravel-modules` is a Laravel package which was created to manage your large Laravel app using modules. This package provides a set of Artisan commands and tools to easily create modules, pages, and filters in your Laravel application.

Generate your first module using `php artisan module:create Admins`. The following structure will be generated.

```
Modules/
├── Admins/
    ├── Controllers/
    │   └── AdminController.php
    ├── Database/
    │   ├── factories/
    │   │   └── AdminFactory.php
    │   ├── migrations/
    │   │   └── 2024_09_16_xxxxxxx_admins_table.php
    │   └── seeders/
    │       └── AdminSeeder.php
    ├── Events/
    │   ├── AdminCreatedEvent.php
    │   ├── AdminDeletedEvent.php
    │   └── AdminUpdatedEvent.php
    ├── Exceptions/
    │   └── AdminException.php
    ├── Filters/
    │   ├── GenderFilter.php
    │   └── StatusFilter.php
    ├── Middleware/
    │   └── AdminMiddleware.php
    ├── Models/
    │   └── Admin.php
    ├── Observers/
    │   └── AdminObserver.php
    ├── Policies/
    │   └── AdminPolicy.php
    ├── Requests/
    │   ├── StoreAdminRequest.php
    │   └── UpdateAdminRequest.php
    ├── Resources/
    │   ├── AdminListResource.php
    │   └── AdminShowResource.php
    ├── Routes/
    │   └── AdminRoutes.php
    ├── Services/
    │   └── AdminService.php
    └── Traits/
        ├── AdminAttributesTrait.php
        ├── AdminRelationshipsTrait.php
        └── AdminScopesTrait.php
```

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

[](#installation)

To install the package, run:

```
composer require tur1/modules
```

Artisan Commands
----------------

[](#artisan-commands)

### Create a Module

[](#create-a-module)

To create a new module, use the following command:

```
php artisan module:create Users
```

This will generate a `Users` module in the `app/Modules` directory.

### Create a Page

[](#create-a-page)

To create a new page within a module, use:

```
php artisan page:create Dashboard
```

This will generate a `Dashboard` page

### Create a Filter

[](#create-a-filter)

To create a new filter within a module, use:

```
php artisan module:filter {name} --m={module-name}
```

Example:

```
php artisan module:filter StatusFilter --m=Users
```

This will create a `StatusFilter` class in the `app/Modules/Users/Filters` directory.

Registering Filters in a Model
------------------------------

[](#registering-filters-in-a-model)

You can register filters for a model by defining a `filters()` method in your model. For example:

```
class User extends Model
{
    /**
     * Register filters for the User model.
     *
     * @return array
     */
    public static function filters()
    {
        return [
             StatusFilter::class,
        ];
    }
}
```

Applying Filters
----------------

[](#applying-filters)

To apply filters to a query, use the `withFilters()` method:

```
User::withFilters()->get();
```

Searchable Fields
-----------------

[](#searchable-fields)

Define a `$search` property in your model to enable search functionality. Use an array of field names, including related fields with dot notation (e.g., `roles.name`).

Example:

```
class User extends Model
{

  protected $search = ['name', 'email', 'roles.name'];

   public function roles()
   {
        return $this->hasMany(Role::class);
   }

    /**
     * Register filters for the User model.
     *
     * @return array
     */
    public static function filters()
    {
        return [
             StatusFilter::class,
        ];
    }

}
```

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance35

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

31

Last Release

620d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/63422322?v=4)[Turki Alharbi](/maintainers/Tur-1)[@Tur-1](https://github.com/Tur-1)

---

Top Contributors

[![Tur-1](https://avatars.githubusercontent.com/u/63422322?v=4)](https://github.com/Tur-1 "Tur-1 (2 commits)")

### Embed Badge

![Health badge](/badges/tur1-laravelmodules/health.svg)

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

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3355.3M346](/packages/psalm-plugin-laravel)[renatomarinho/laravel-page-speed

Laravel Page Speed

2.5k1.7M11](/packages/renatomarinho-laravel-page-speed)[illuminate/pagination

The Illuminate Pagination package.

12234.1M1.0k](/packages/illuminate-pagination)[illuminate/pipeline

The Illuminate Pipeline package.

9349.2M282](/packages/illuminate-pipeline)[illuminate/redis

The Illuminate Redis package.

8314.6M375](/packages/illuminate-redis)[illuminate/cookie

The Illuminate Cookie package.

244.6M136](/packages/illuminate-cookie)

PHPackages © 2026

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