PHPackages                             zapheus/skeleton - 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. zapheus/skeleton

ActiveLibrary[Framework](/categories/framework)

zapheus/skeleton
================

An application structure for Zapheus framework.

06PHPCI failing

Since Sep 22Pushed 5y ago1 watchersCompare

[ Source](https://github.com/zapheus/skeleton)[ Packagist](https://packagist.org/packages/zapheus/skeleton)[ RSS](/packages/zapheus-skeleton/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Skeleton
========

[](#skeleton)

[![Latest Version on Packagist](https://camo.githubusercontent.com/d78a2fe1f591c7a83de11ea935e94ade1b6e36664ba2d8ce996cd779f9e14e56/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7a6170686575732f736b656c65746f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zapheus/skeleton)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/zapheus/skeleton/blob/master/LICENSE.md)[![Build Status](https://camo.githubusercontent.com/3c07ad0e83a30baefbf84b57ee3d186767f932f0df53ecd9ff8be169e2734b70/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f7a6170686575732f736b656c65746f6e2f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/zapheus/skeleton)[![Coverage Status](https://camo.githubusercontent.com/501ed66a34ec43cbab28025a1bff111f9aed28caa5dc37cd3445ed885018e03d/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f7a6170686575732f736b656c65746f6e2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/zapheus/skeleton/code-structure)[![Quality Score](https://camo.githubusercontent.com/0c71b26d4233e2bb463ecd1358db22f310b1b27cf0ed4f021fe665ac7b413119/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f7a6170686575732f736b656c65746f6e2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/zapheus/skeleton)[![Total Downloads](https://camo.githubusercontent.com/eea562d596358158b12c34a8e1d87a95173bd07b9ac2ddda274572a8399393df/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7a6170686575732f736b656c65746f6e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zapheus/skeleton)

An application structure for [Zapheus](https://github.com/zapheus/zapheus) framework.

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

[](#installation)

Install `Skeleton` via [Composer](https://getcomposer.org/):

```
$ composer create-project zapheus/skeleton:dev-master "acme"
```

Basic Usage
-----------

[](#basic-usage)

### Running the application

[](#running-the-application)

Use PHP's built-in web server (available in v5.4+)

```
$ php -S localhost:8000 -t app/web
```

Now open your web browser and go to .

### Adding Zapheus providers

[](#adding-zapheus-providers)

```
// app/config/providers.php

return array(
    // ...

    'zapheus' => array(
        // ...

        // Application Providers
        'App\Acme\AcmeProvider',
        'App\Acme\SampleProvider',

        // ...
    ),
);
```

A Zapheus provider must be implemented in a `ProviderInterface`:

```
namespace Zapheus\Provider;

use Zapheus\Container\WritableInterface;

interface ProviderInterface
{
    /**
     * @return \Zapheus\Container\ContainerInterface
     */
    public function register(WritableInterface $container);
}
```

### Adding dependencies to `MappingsProvider`

[](#adding-dependencies-to-mappingsprovider)

```
// src/Zapheus/MappingsProvider.php

class MappingsProvider implements ProviderInterface
{
    public function register(WritableInterface $container)
    {
        $test = 'App\Acme\DelegatesController';

        return $container->set($test, new $test);
    }
}
```

`MappingsProvider` is only applicable for specified handling of dependencies because Zapheus will try to manage the dependencies based on instances found from the container by default. For complex dependencies, it is recommended to implement it into a `ProviderInterface` instead.

### Adding HTTP routes to `DispatcherProvider`

[](#adding-http-routes-to-dispatcherprovider)

```
// src/Acme/RouteCollection.php

use Zapheus\Routing\Router;

class RouteCollection extends Router
{
    /**
     * Namespace applied to all class-based routes.
     *
     * @var string
     */
    protected $namespace = 'App\Acme';

    /**
     * Returns an array of route instances.
     *
     * @return \Zapheus\Routing\Route[]
     */
    public function routes()
    {
        $this->get('/delegates', 'DelegatesController@index');

        return $this->routes;
    }
}
```

```
// src/Zapheus/DispatcherProvider.php

class DispatcherProvider implements ProviderInterface
{
    /**
     * An array of Zapheus\Routing\RouterInterface instances.
     *
     * @var string[]
     */
    protected $routers = array('App\Acme\RouteCollection');

    // ..
}
```

### Adding multi-directory template files

[](#adding-multi-directory-template-files)

```
// src/Acme/AcmeProvider.php

use Zapheus\Container\WritableInterface;
use Zapheus\Provider\ProviderInterface;

class AcmeProvider implements ProviderInterface
{
    /**
     * Registers the bindings in the container.
     *
     * @param  \Zapheus\Container\WritableInterface $container
     * @return \Zapheus\Container\ContainerInterface
     */
    public function register(WritableInterface $container)
    {
        // ...

        $templates = __DIR__ . DIRECTORY_SEPARATOR . 'Templates';

        // Add a dot notation after "app.views"
        $config->set('app.views.acme', $templates);

        // ...
    }
}
```

```
// src/Acme/DelegatesController

class DelegatesController
{
    protected $renderer;

    public function __construct(RendererInterface $renderer)
    {
        $this->renderer = $renderer;
    }

    public function index()
    {
        // Use the "acme" prefix defined from AcmeProvider
        return $this->renderer->render('acme.test');
    }
}
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](https://github.com/zapheus/skeleton/blob/master/CHANGELOG.md) for more information what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

License
-------

[](#license)

The MIT License (MIT). Please see [LICENSE](https://github.com/zapheus/skeleton/blob/master/LICENSE.md) for more information.

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity32

Early-stage or recently created project

 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.

### Community

Maintainers

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

---

Top Contributors

[![rougin](https://avatars.githubusercontent.com/u/6078637?v=4)](https://github.com/rougin "rougin (57 commits)")

### Embed Badge

![Health badge](/badges/zapheus-skeleton/health.svg)

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

###  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)
