PHPackages                             amalranganath/a-demo-plugin - 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. amalranganath/a-demo-plugin

ActiveProject[Framework](/categories/framework)

amalranganath/a-demo-plugin
===========================

A Framework Demo Plugin

1.0.0(7y ago)320MITPHPPHP &gt;=5.4.0

Since Jul 20Pushed 7y ago1 watchersCompare

[ Source](https://github.com/amalranganath/a-demo-plugin)[ Packagist](https://packagist.org/packages/amalranganath/a-demo-plugin)[ Docs](https://github.com/amalranganath/a-demo-plugin)[ RSS](/packages/amalranganath-a-demo-plugin/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

A Framework - Demo Plugin
=========================

[](#a-framework---demo-plugin)

A is a Simple MVC Framework to develop Wordpress plugins easily. This is the demo plugin created using [A Framework](https://github.com/amalranganath/a) which is to give you a brief idea about how it works. Please give it a try and report if you find any [issues](https://github.com/amalranganath/a-demo-plugin/issues).

[![Latest Stable Version](https://camo.githubusercontent.com/c0968403ec30de5521d7184b4734c2a4d978225839404521d3de1e47ba801313/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f616d616c72616e67616e6174682f612d64656d6f2d706c7567696e2e737667)](https://packagist.org/packages/amalranganath/a-demo-plugin)[![Total Downloads](https://camo.githubusercontent.com/4a1509ba1a782dac50bfb8fc8807a8edbcdd6ef3155060122186b6f2b8aed12c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f616d616c72616e67616e6174682f612d64656d6f2d706c7567696e2e737667)](https://packagist.org/packages/amalranganath/a-demo-plugin)[![Build Status](https://camo.githubusercontent.com/e5eef5233e63c38bc01b4a8565392e254e1ca01750d88339fb9e275f3e74d7a8/68747470733a2f2f7472617669732d63692e6f72672f616d616c72616e67616e6174682f612d64656d6f2d706c7567696e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/amalranganath/a-demo-plugin)

DIRECTORY STRUCTURE
-------------------

[](#directory-structure)

```
  assets/             contains assets definition
  components/         contains components (any helper class)
  controllers/        contains Web controller classes
  models/             contains model classes
  vendor/             contains dependent 3rd-party packages
  views/              contains view files for the Web application

```

REQUIREMENTS
------------

[](#requirements)

The minimum requirement by this project template that your Web server supports PHP 5.4.0. Also you should have installed [Wordpress](https://wordpress.org/) latest (at least 4.9.7) version.

INSTALLATION
------------

[](#installation)

### Install via Composer

[](#install-via-composer)

If you do not have [Composer](http://getcomposer.org/), you may install it by following the instructions at [getcomposer.org](http://getcomposer.org/doc/00-intro.md#installation-nix).

Go to the wp-contet/plugins/ folder of your Wordpress project and type the following command:

```
composer create-project --stability=dev amalranganath/a-demo-plugin
cd a-demo-plugin/
composer update

```

Now you should be able to see the "A Demo Plugin" in the plugins listing.

START DEVELOPMENT
-----------------

[](#start-development)

Find the `plugin-name.php` file in plugin root `wp-contet/plugins/a-demo-plugin/` folder and change the plugin details inside the comment as you wish. Do not change the framework include code. You may define anything to run when activating the plugin inside `register_activation_hook` as usual. All the other developments go under "MVC" design as you can see inside the controllers, models and views folders.

CONFIGURATION
-------------

[](#configuration)

All configurations are defined in the file `config.php`. Read the following sample code to get an idea how to define the each attribute: When creating templates for the admin (in views/admin/) menu pages and tabs, file name should be the slug.

```
return [
    'id' => 'plugin-id',
    'name' => 'Plugin Name',

     /**  Do not change **/
    'basePath' => plugin_dir_path(__FILE__),
    'baseUrl' => plugins_url('/', __FILE__),
    'baseName' => plugin_basename(__FILE__),

    'i18n' => 'language-domain-name',

    /** Admin menu and pages of the plugin **/
    'admin' => [
        'class' => 'Admin controller class name',

        /** Main menu item **/
        'mainMenu' => [
            'pageTitle' => 'The Page title',
            'title' => 'The menu title',
            'slug' => 'main-menu-slug',
            'icon' => 'The menu icon class',
            'position' => 'The menu item position'
        ],

        /** Sub menu items **/
        'pages' => [
            'menu-item-1' => [
                'pageTitle' => 'The Page title',
                'title' => 'The menu title',
                'slug' => 'menu-item-1-slug',
                /** The tabs **/
                'tabs' => [
                    'tab-1-slug' => 'tab 1 Title',
                    'tab-2-slug' => 'tab 2 Title',
                ]
            ],
            'menu-item-2' => [
                'pageTitle' => 'The Page title',
                'title' => 'The menu item 2 title',
                'slug' => 'menu-item-2-slug',
            ]
        ]
];
```

DOCUMENTATION
-------------

[](#documentation)

Coming soon ...

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

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

Unknown

Total

1

Last Release

2853d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/303d38358c7b52463b75d658435349eee8ef759f9d116ac47a3c139f31713874?d=identicon)[amalranganath](/maintainers/amalranganath)

---

Tags

a demo plugina frameworkdemo plugin

### Embed Badge

![Health badge](/badges/amalranganath-a-demo-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/amalranganath-a-demo-plugin/health.svg)](https://phpackages.com/packages/amalranganath-a-demo-plugin)
```

###  Alternatives

[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[bagisto/bagisto

Bagisto Laravel E-Commerce

26.2k161.6k7](/packages/bagisto-bagisto)[laposa/onyx

CMS

171.5k](/packages/laposa-onyx)

PHPackages © 2026

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