2017 © Pedro Peláez
 

project skeleton-application

Skeleton Application for Zend Framework zend-mvc applications

image

zendframework/skeleton-application

Skeleton Application for Zend Framework zend-mvc applications

  • Tuesday, October 31, 2017
  • by zendframework
  • Repository
  • 245 Watchers
  • 1604 Stars
  • 170,546 Installations
  • PHP
  • 7 Dependents
  • 1 Suggesters
  • 1629 Forks
  • 13 Open issues
  • 15 Versions
  • 4 % Grown

The README.md

ZendSkeletonApplication

Repository abandoned 2019-12-31

This repository has moved to laminas/laminas-skeleton-installer., (*1)

Introduction

This is a skeleton application using the Zend Framework MVC layer and module systems. This application is meant to be used as a starting place for those looking to get their feet wet with Zend Framework., (*2)

Installation using Composer

The easiest way to create a new Zend Framework project is to use Composer. If you don't have it already installed, then please install as per the documentation., (*3)

To create your new Zend Framework project:, (*4)

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

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

$ cd path/to/install
$ php -S 0.0.0.0:8080 -t public
# OR use the composer alias:
$ composer run --timeout 0 serve

This will start the cli-server on port 8080, and bind it to all network interfaces. You can then visit the site at http://localhost:8080/ - which will bring up Zend Framework welcome page., (*6)

Note: The built-in CLI server is for development only., (*7)

Development mode

The skeleton ships with zf-development-mode by default, and provides three aliases for consuming the script it ships with:, (*8)

$ 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., (*9)

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., (*10)

Running Unit Tests

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

  • During initial project creation, select to install the MVC testing support.
  • After initial project creation, install zend-test:, (*12)

    $ composer require --dev zendframework/zend-test
    

Once testing support is present, you can run the tests using:, (*13)

$ ./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.), (*14)

Using Vagrant

This skeleton includes a Vagrantfile based on ubuntu 16.04 (bento box) with configured Apache2 and PHP 7.0. Start it up using:, (*15)

$ vagrant up

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

$ vagrant ssh -c 'composer install'

While this will update them:, (*17)

$ 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 http://localhost:8080/, (*18)

Vagrant and VirtualBox

The vagrant image is based on ubuntu/xenial64. If you are using VirtualBox as a provider, you will need:, (*19)

  • Vagrant 1.8.5 or later
  • VirtualBox 5.0.26 or later

For vagrant documentation, please refer to vagrantup.com, (*20)

Using docker-compose

This skeleton provides a docker-compose.yml for use with docker-compose; it uses the Dockerfile provided as its base. Build and start the image using:, (*21)

$ docker-compose up -d --build

At this point, you can visit http://localhost:8080 to see the site running., (*22)

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

$ docker-compose run zf composer install

Web server 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:, (*24)

<VirtualHost *:80>
    ServerName zfapp.localhost
    DocumentRoot /path/to/zfapp/public
    <Directory /path/to/zfapp/public>
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
        <IfModule mod_authz_core.c>
        Require all granted
        </IfModule>
    </Directory>
</VirtualHost>

Nginx setup

To setup nginx, open your /path/to/nginx/nginx.conf and add an include directive below into http block if it does not already exist:, (*25)

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:, (*26)

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!, (*27)

QA Tools

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

Additionally, it comes with some basic tests for the shipped Application\Controller\IndexController., (*29)

If you want to add these QA tools, execute the following:, (*30)

$ composer require --dev phpunit/phpunit squizlabs/php_codesniffer zendframework/zend-test

We provide aliases for each of these tools in the Composer configuration:, (*31)

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

The Versions

04/01 2017

dev-release-2.4

dev-release-2.4 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

04/01 2017

2.4.11

2.4.11.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

22/10 2015

2.5.0

2.5.0.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

11/11 2014

2.3.3

2.3.3.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

11/11 2014

2.3.2

2.3.2.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

11/11 2014

2.3.1

2.3.1.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

11/11 2014

2.3.0

2.3.0.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

11/11 2014

2.2.8

2.2.8.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2

11/11 2014

2.2.7

2.2.7.0 http://framework.zend.com/

Skeleton Application for ZF2

  Sources   Download

BSD-3-Clause

The Requires

 

framework zf2