PHPackages                             pacificnm/application - 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. pacificnm/application

ActiveProject

pacificnm/application
=====================

Core Application

1.0.5(9y ago)04BSD-3-ClauseHTML

Since Dec 29Pushed 9y ago1 watchersCompare

[ Source](https://github.com/pacificnm/pacificnm-application)[ Packagist](https://packagist.org/packages/pacificnm/application)[ RSS](/packages/pacificnm-application/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (19)Versions (5)Used By (0)

PacificNM Skeleton Application
==============================

[](#pacificnm-skeleton-application)

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

[](#introduction)

This is a skeleton application using the PacificNM layer and module systems. This application is meant to be used as a starting place for those looking to get their feet wet with PacificNM.

Installation using Composer
---------------------------

[](#installation-using-composer)

The easiest way to create a new PacificNM project is to use [Composer](https://getcomposer.org/). If you don't have it already installed, then please install as per the [documentation](https://getcomposer.org/doc/00-intro.md).

To create your new PacificNM project:

```
$ composer create-project -sdev pacificnm/skeleton-application path/to/install
```

Once installed, you can test it out immediately using PHP's built-in web server:

```
$ cd path/to/install
$ php -S 0.0.0.0:8080 -t public/ public/index.php
# OR use the composer alias:
$ composer serve
```

This will start the cli-server on port 8080, and bind it to all network interfaces. You can then visit the site at

- which will bring up PacificNM welcome page.

**Note:** The built-in CLI server is *for development only*.

Development mode
----------------

[](#development-mode)

The skeleton ships with [zf-development-mode](https://github.com/zfcampus/zf-development-mode)by default, and provides three aliases for consuming the script it ships with:

```
$ composer development-enable  # enable development mode
$ composer development-disable # disable development mode
$ composer development-status  # whether or not development mode is enabled
```

You may provide development-only modules and bootstrap-level configuration in `config/development.config.php.dist`, and development-only application configuration in `config/autoload/development.local.php.dist`. Enabling development mode will copy these files to versions removing the `.dist` suffix, while disabling development mode will remove those copies.

Development mode is automatically enabled as part of the skeleton installation process. After making changes to one of the above-mentioned `.dist` configuration files you will either need to disable then enable development mode for the changes to take effect, or manually make matching updates to the `.dist`-less copies of those files.

Running Unit Tests
------------------

[](#running-unit-tests)

To run the supplied skeleton unit tests, you need to do one of the following:

- During initial project creation, select to install the MVC testing support.
- After initial project creation, install [zend-test](https://pacificnm.github.io/zend-test/):

    ```
    $ composer require --dev pacificnm/zend-test
    ```

Once testing support is present, you can run the tests using:

```
$ ./vendor/bin/phpunit
```

If you need to make local modifications for the PHPUnit test setup, copy `phpunit.xml.dist` to `phpunit.xml` and edit the new file; the latter has precedence over the former when running tests, and is ignored by version control. (If you want to make the modifications permanent, edit the `phpunit.xml.dist` file.)

Using Vagrant
-------------

[](#using-vagrant)

This skeleton includes a `Vagrantfile` based on ubuntu 16.04, and using the ondrej/php PPA to provide PHP 7.0. Start it up using:

```
$ vagrant up
```

Once built, you can also run composer within the box. For example, the following will install dependencies:

```
$ vagrant ssh -c 'composer install'
```

While this will update them:

```
$ vagrant ssh -c 'composer update'
```

While running, Vagrant maps your host port 8080 to port 80 on the virtual machine; you can visit the site at

> ### Vagrant and VirtualBox
>
> [](#vagrant-and-virtualbox)
>
> The vagrant image is based on ubuntu/xenial64. If you are using VirtualBox as a provider, you will need:
>
> - Vagrant 1.8.5 or later
> - VirtualBox 5.0.26 or later

For vagrant documentation, please refer to [vagrantup.com](https://www.vagrantup.com/)

Using docker-compose
--------------------

[](#using-docker-compose)

This skeleton provides a `docker-compose.yml` for use with [docker-compose](https://docs.docker.com/compose/); it uses the `Dockerfile` provided as its base. Build and start the image using:

```
$ docker-compose up -d --build
```

At this point, you can visit  to see the site running.

You can also run composer from the image. The container environment is named "zf", so you will pass that value to `docker-compose run`:

```
$ docker-compose run zf composer install
```

Web server setup
----------------

[](#web-server-setup)

### Apache setup

[](#apache-setup)

To setup apache, setup a virtual host to point to the public/ directory of the project and you should be ready to go! It should look something like below:

```

    ServerName zfapp.localhost
    DocumentRoot /path/to/zfapp/public

        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all

        Require all granted

```

### Nginx setup

[](#nginx-setup)

To setup nginx, open your `/path/to/nginx/nginx.conf` and add an [include directive](http://nginx.org/en/docs/ngx_core_module.html#include) below into `http` block if it does not already exist:

```
http {
    # ...
    include sites-enabled/*.conf;
}
```

Create a virtual host configuration file for your project under `/path/to/nginx/sites-enabled/zfapp.localhost.conf`it should look something like below:

```
server {
    listen       80;
    server_name  zfapp.localhost;
    root         /path/to/zfapp/public;

    location / {
        index index.php;
        try_files $uri $uri/ @php;
    }

    location @php {
        # Pass the PHP requests to FastCGI server (php-fpm) on 127.0.0.1:9000
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME /path/to/zfapp/public/index.php;
        include fastcgi_params;
    }
}
```

Restart the nginx, now you should be ready to go!

QA Tools
--------

[](#qa-tools)

The skeleton does not come with any QA tooling by default, but does ship with configuration for each of:

- [phpcs](https://github.com/squizlabs/php_codesniffer)
- [phpunit](https://phpunit.de)

Additionally, it comes with some basic tests for the shipped `Application\Controller\IndexController`.

If you want to add these QA tools, execute the following:

```
$ composer require --dev phpunit/phpunit squizlabs/php_codesniffer pacificnm/zend-test
```

We provide aliases for each of these tools in the Composer configuration:

```
# Run CS checks:
$ composer cs-check
# Fix CS errors:
$ composer cs-fix
# Run PHPUnit tests:
$ composer test
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity66

Established project with proven stability

 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

3

Last Release

3421d ago

### Community

Maintainers

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

---

Top Contributors

[![pacificnm](https://avatars.githubusercontent.com/u/6271830?v=4)](https://github.com/pacificnm "pacificnm (6 commits)")

### Embed Badge

![Health badge](/badges/pacificnm-application/health.svg)

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

###  Alternatives

[blanchonvincent/zf2-lazy-loading-module

ZF2 Lazy Loading Module 1.5.2 - Provide a library to implements lazy loading module in ZF2

353.7k](/packages/blanchonvincent-zf2-lazy-loading-module)

PHPackages © 2026

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