PHPackages                             codfee/plugins-system - 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. [Framework](/categories/framework)
4. /
5. codfee/plugins-system

ActiveLibrary[Framework](/categories/framework)

codfee/plugins-system
=====================

A Laravel and Lumen plugin system

05PHPCI failing

Since May 24Pushed 6y ago1 watchersCompare

[ Source](https://github.com/XalidBalagozov/plugins-system)[ Packagist](https://packagist.org/packages/codfee/plugins-system)[ RSS](/packages/codfee-plugins-system/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependenciesVersions (1)Used By (0)

laravel-plugins
===============

[](#laravel-plugins)

Plugin system for Laravel 5.x and Lumen 5.x. Plugins can overwrite and extend each other.

Usage
-----

[](#usage)

For Lumen add to bootstrap/app.php: `$app->register(\CodFee\LaravelPlugins\PluginServiceProvider::class);`

For Laravel add to 'providers' array in config/app.php: `\CodFee\LaravelPlugins\PluginServiceProvider::class,`

Create a plugin
---------------

[](#create-a-plugin)

### Structure

[](#structure)

Plugins must be in app/Plugins. Example plugin structure:

- Test
    - Http
        - Controllers
            - TestController.php
    - views
        - test.blade.php
    - migrations
        - 2018\_06\_15\_000000\_create\_test\_table.php
    - routes.php
    - TestPlugin.php

The TestPlugin class must extend the CodFee\\LaravelPlugins\\Plugin class, containing a unique $name property and a boot() method.

### Views

[](#views)

In the boot() method of your plugin call `$this->enableViews()`. Optional you can pass a relative path to the views directory, default to `views`. Views automatically have a namespace (`"plugin:{name}"`), the name is defined by the the main plugin class in a camel case format, with `Plugin` stripped from the end. For the example above it would be `plugin:test`. To render a view you can either write the namespace yourself or use the helper method `view()` in the plugin class. For example `view('plugin:test::some.view.name');`

### Routes

[](#routes)

In the boot() method of your plugin call `$this->enableRoutes()`. Optional you can pass a relative path to the routes file, default to `routes.php`. You automatically have access to the `$app` variable. Routes are automatically grouped to your plugin namespace, so you only have to type the controller name without the namespace.

### Controllers

[](#controllers)

Controllers must be in PluginDirectory-&gt;Http-&gt;Controllers.

### Migrations

[](#migrations)

In the boot() method of your plugin call `$this->enableMigrations()`. Optional you can pass a relative path to the migrations directory, default to `migrations`. Keep in mind that migrations must follow the `yyyy_mm_dd_tttt_.php` naming convention, for example `2014_10_12_000000_create_users_table.php` would be a valid migration.

### How to extend another plugin

[](#how-to-extend-another-plugin)

ToDo
----

[](#todo)

- Move plugin directory and project namespace to publishable config file

plugins-system
==============

[](#plugins-system)

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

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.

### Community

Maintainers

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

### Embed Badge

![Health badge](/badges/codfee-plugins-system/health.svg)

```
[![Health](https://phpackages.com/badges/codfee-plugins-system/health.svg)](https://phpackages.com/packages/codfee-plugins-system)
```

###  Alternatives

[laravel/telescope

An elegant debug assistant for the Laravel framework.

5.2k67.8M192](/packages/laravel-telescope)[spiral/roadrunner

RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

8.4k12.2M84](/packages/spiral-roadrunner)[nolimits4web/swiper

Most modern mobile touch slider and framework with hardware accelerated transitions

41.8k177.2k1](/packages/nolimits4web-swiper)[laravel/dusk

Laravel Dusk provides simple end-to-end testing and browser automation.

1.9k36.7M259](/packages/laravel-dusk)[laravel/prompts

Add beautiful and user-friendly forms to your command-line applications.

708181.8M596](/packages/laravel-prompts)[cakephp/chronos

A simple API extension for DateTime.

1.4k47.7M121](/packages/cakephp-chronos)

PHPackages © 2026

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