PHPackages                             awoyotoyin/zf-muscle - 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. [Database &amp; ORM](/categories/database)
4. /
5. awoyotoyin/zf-muscle

ActiveLibrary[Database &amp; ORM](/categories/database)

awoyotoyin/zf-muscle
====================

Compound ZF2 Solution based on DoctrineORMModule

019PHP

Since Feb 27Pushed 10y ago1 watchersCompare

[ Source](https://github.com/AwoyoToyin/ZfMuscle)[ Packagist](https://packagist.org/packages/awoyotoyin/zf-muscle)[ RSS](/packages/awoyotoyin-zf-muscle/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependenciesVersions (1)Used By (0)

ZfMuscle
========

[](#zfmuscle)

Introduction
------------

[](#introduction)

This is a compound module that comes shipped with basic web application functionality. This application is meant to be used as a major starting place for those looking to get dirty with ZF2.

The What and Why ?
------------------

[](#the-what-and-why-)

#### The What

[](#the-what)

ZfMuscle is a `Zend Framework 2 Administrative` module built to help you not worry how to restrict access to pages and limit user actions. It uses the `ZfcUserDoctrineORM by @ZF-Commons and BjyAuthorize by @bjyoungblood` modules as based functionality; leaving the `ZfcUser by @ZF-Commons` module for your own modifications. Essentially, It is a fully styled/template(d) Back-end module that manages not just access to your custom Back-end modules, but application wide.

#### The Why

[](#the-why)

As I am always having to work on projects that requires restricted access to resources and having to recode and hard code all these is such a pain, I thought to myself, wouldn't it be cool if there was a module somewhere out there that does all these `(I know, there's BjyAuthorize for ACL by @bjyoungblood, ZfcUser by @ZF-Commons for user management)` as a package?

A flexible and scalable module that has all these shipped with it? "It'd be cool" my answer after giving it some thought.

Still don't see the WHY ? Well, how about you dig right in and decide for yourself if it is worth all the effort.

Demo Preview
------------

[](#demo-preview)

See a demo preview at .
`TODO:` install application and open up a demo admin login and password

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

[](#installation)

Using Composer (recommended)
----------------------------

[](#using-composer-recommended)

Add the following lines to your "composer.json" file

```
//...
"require": {
    "awoyotoyin/zf-muscle": "dev-master"
}
//...

```

Configuration
-------------

[](#configuration)

1. Add "ZfMuscle", "DoctrineModule", "DoctrineORMModule", "AssetManager", "ZfcBase", "ZfcUser", "ZfcUserDoctrineORM" and "BjyAuthorize" to your application.config.php file.

    Example:

    ```
    'modules' => array(
        //...
        'AssetManager',
        'ZendDeveloperTools',
        'DoctrineModule',
        'DoctrineORMModule',
        'ZfcBase',
        'ZfcUser',
        'ZfcUserDoctrineORM',
        'Application',
        'BjyAuthorize',
        'ZfMuscle',
        ...
    )

    ```
2. Copy the files having `.dist` extension in config to your application autoload and remove the `.dist` extensions.

### Note:

[](#note)

The `bjyauthorize.global.php.dist` file allow you to make use of the embedded user permission.

Styling And Other Assets
------------------------

[](#styling-and-other-assets)

To use the assets meant for this module, copy/move the

```
//...
public/
    zf-muscle/
    //...

```

directory to your main application public folder, so your folder structure becomes something like:

```
//...
public/
    //...
    zf-muscle/
            css/
            img/
            js/
            //...

```

`TODO:` Tell the application to use the assets providing the correct paths to them as opposed to moving / copying them around. This could be achieved with the AssetManager Module though

Important to Note
-----------------

[](#important-to-note)

1. This module essentially takes over the control of your application.
2. It has an installation wizard that you are presented with on installation.
3. It uses the route guard in BjyAuthorize module and hence, all your routes definition must have a default.

    Example:

    ```
    ...
    'edit' => [
       'type' => 'Segment',
       'options' => [
           'route' => '/edit[/:id]',
           'constraints' => [
               'id' => '[0-9]*',
           ],
           'defaults' => [
               'controller' => 'zfmuscle-user',
               'action'     => 'register',
           ],
       ],
    ],
    ...

    ```
4. Since the application automatically imports all defined routes in all loaded modules, modules without routers &amp;/or routes defined don't need to checked for routes. Hence, there is a little configuration provided to skip such modules.

To enlist a module to be skipped during this import, open the `config/autoload/zfmuscle.global.php` file and under the `'skip_modules'` key, define such a module.

```
Example:
```
...
// list of modules to skip for acl
'skip_modules' => [
   'ZendDeveloperTools',
   'DoctrineModule',
   'DoctrineORMModule',
   'AssetManager',
   'ZfcUserDoctrineORM',
   'BjyAuthorize',
   'ZfcBase',
   ...
],
...
```

```

Permission Settings
-------------------

[](#permission-settings)

`NOTE` This module uses the Route Guard ACL from BjyAuthorize module

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/5974625?v=4)[Awoyo Oluwatoyin Stephen](/maintainers/awoyotoyin)[@AwoyoToyin](https://github.com/AwoyoToyin)

### Embed Badge

![Health badge](/badges/awoyotoyin-zf-muscle/health.svg)

```
[![Health](https://phpackages.com/badges/awoyotoyin-zf-muscle/health.svg)](https://phpackages.com/packages/awoyotoyin-zf-muscle)
```

###  Alternatives

[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k117.2M114](/packages/jdorn-sql-formatter)[propel/propel1

Propel is an open-source Object-Relational Mapping (ORM) for PHP5.

8351.6M87](/packages/propel-propel1)[jfelder/oracledb

Oracle DB driver for Laravel

11518.4k](/packages/jfelder-oracledb)

PHPackages © 2026

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