Simple skeleton PHP project with Symfony2 components

v0.9.9.4 2015-01-27 19:39 UTC


A simple skeleton PHP project, using composer and other tools like PHPUnit (ver 3.7.x)

Lastest versión:

v0.9.9.4 2015-01-27 19:39 UTC


php: >=5.4.3 pimple/pimple: 1.1.1 ext-curl: *

requires (dev)

phpunit/phpunit: 3.7.x-dev mockery/mockery: dev-master phake/phake: 1.* ext-sqlite3: * phpunit/dbunit: >=1.2 phpunit/phpunit-selenium: >=1.2 facebook/webdriver: dev-master sensiolabs/security-checker: dev-master hot/phpunit-runner: dev-master


ext/xdebug: Debugger and profiling


You need install composer (

$ curl -s | php $ php composer.phar install

If you install composer globally (, you should be use packagist :) (

$ composer(.phar) create-project isidromerayo/simple_php_skeleton my_project_name

All-in-one install and check (inspired by :)

$ curl -s | sh


$ composer(.phar) update


Create your test under "tests" directory. Create your code under "src" directory.

To run all test

$ bin/phpunit -c tests

If you want to use ant (and only phpunit task)

$ ant phpunit

Too use code coverage you need install XDebug extension (

$ bin/phpunit -c tests/phpunit-codecoverage.xml.dist

$ ant -f build-composer.xml

The report for code coverage build/logs/junit.xml

All test

Require: WebDriver and add selenium server dependency and Java :) To add dependency into project:

$ composer(.phar) require edysanchez/selenium-server

By default minimal enviroment (unit + integration), to launch "complete" with Selenium the steps:

  1. Launch Selenium RC Server

$ bin/selenium-server.jar

  1. Launch test with custom configuration phpunit file (another terminal window)

$ bin/phpunit -c tests/phpunit-complete.xml.dist

You should remove "Acme" namespace ;)


Note: Test on Ubuntu 12.04/14.04 (Gnome Shell and XFCE)

Guard PHPUnit2

You can try to autotest with Guard PHPUnit2

$ gem install guard-phpunit2

To launch, simple:

$ guard

The configuration file is Guardfile :)

More info


Status build: Build Status


Quality: Scrutinizer Quality Score

Code Coverage: Code Coverage



Revised project:

  • Update doc
  • Remove hot-phpunit-runner (no works :()


Remove selenium server, you should be add in composer.json dependency

"edysanchez/selenium-server": "dev-master",

To launch selenium server



Test hot-phpunit-runner for autotest using PHP, try to remove guard-phpunit2

hot/phpunit-runner dev-master requires php >=5.4.0, but skeleton_php_project requires >=5.3.3


Example test doubles: Stubs and Mocks Add Selenium RC Server Listener to calculate time execution (


Add template to Jenkins CI


Add basic Scrutinizer (


Add Phake (Test Doubles) to composer.json and autotest with Guard PHPUnit2 (gem).


Script post install to remove .git


Restructure to divide test into: unit, integration and functional


Add "Security Advisories Checker"


Remove functional test because we need minimal enviroment to kata(yunos). Selenium RC will be another project (skeleton_PHP_testing)


Change autoload to PSR-0 in src/ Reorganize phpunit.xml files and ant task


Add Selenium RC and test demo


Change vendor/bin to bin

Change "require" to "require-dev"

Add "suggest" to install XDebug

Update gist


Add a Dependency Injection Container for PHP (Pimple)





Selenium Extension: