2017 © Pedro Peláez
 

project tss-skeleton

TSS\Skeleton Application for Zend Framework zend-mvc applications

image

zetta-code/tss-skeleton

TSS\Skeleton Application for Zend Framework zend-mvc applications

  • Wednesday, July 26, 2017
  • by thiagos.xsantos
  • Repository
  • 1 Watchers
  • 0 Stars
  • 12 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 0 % Grown

The README.md

TSS/SkeletonApplication

Introduction

This is a skeleton application fork 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., (*1)

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

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

$ composer create-project -sdev zetta-code/tss-skeleton path/to/install

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

$ php -S 0.0.0.0:8080 -t public/ public/index.php

This will start the cli-server on port 8080, and bind it to all network interfaces., (*5)

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

Development mode

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

$ composer development-enable  # enable development mode
$ composer development-disable # enable 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., (*8)

Running Unit Tests

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

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

    $ composer require --dev zendframework/zend-test
    

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

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

Using Vagrant

This skeleton includes a Vagrantfile based on ubuntu 14.04, and using the ondrej/php PPA to provide PHP 7.0. Start it up using:, (*13)

$ vagrant up

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

$ vagrant ssh -c 'composer install'

While this will update them:, (*15)

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

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

$ docker-compose up -d --build

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

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

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

<VirtualHost *:80>
    ServerName zf2-app.localhost
    DocumentRoot /path/to/zf2-app/public
    <Directory /path/to/zf2-app/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:, (*21)

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

Create a virtual host configuration file for your project under /path/to/nginx/sites-enabled/zf2-app.localhost.conf it should look something like below:, (*22)

server {
    listen       80;
    server_name  zf2-app.localhost;
    root         /path/to/zf2-app/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/zf2-app/public/index.php;
        include fastcgi_params;
    }
}

Restart the nginx, now you should be ready to go!, (*23)

The Versions