Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Phalcon Demo Application

Build Status

We use modified Phalcon INVO Application to demonstrate basics of Codeception testing. We expect to implement as many features as possible to showcase the framework and its potential.

Please write us if you have any feedback.



The master branch will always contain the latest stable version. If you wish to check older versions or newer ones currently under development, please switch to the relevant branch.

Get Started



The Composer way (recommended)

Using Composer, you can create a new project, write this code on your terminal:

composer create-project codeception/phalcon-demo --prefer-dist <folder name>

After running this command, there should be an output, similar below:

Installing codeception/phalcon-demo (version)
  - Installing codeception/phalcon-demo (version)

Created project in <folder name>
Loading composer repositories with package information
Updating dependencies (including require-dev)


Writing lock file
Generating autoload files
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]? y

The Git way

Another way to fetch project by using git clone:

First you need to clone this repository:

git clone

Install composer in a common location or in your project:

curl -s | php

Then install dependencies:

php composer.phar install

Setup Database

A MySQL database is also bundled in this project. The connection to the database is required for several tests. You'll need to create the database and initialize schema.

You can create a database as follows:

echo 'CREATE DATABASE phalcon_demo CHARSET=utf8 COLLATE=utf8_unicode_ci' | mysql -u root

then initialize schema:

cat schemas/phalcon_demo.sql | mysql -u root phalcon_demo


For these tests we use the user root with password as password. You may need to change this in tests/codeception.yml. You can override application config by creating app/config/ (already gitignored).


Phalcon Demo Application uses Codeception functional, acceptance and unit tests.

First you need to re-generate base classes for all suites:

vendor/bin/codecept build

You can execute all test with run command:

vendor/bin/codecept run

# OR detailed output
vendor/bin/codecept run --debug

Read more about the installation and configuration of Codeception:

If you cannot run the tests, please refer to the .travis.yml file for more instructions how we test Phalcon Demo Application. For detailed information on our application environment setting refer to app/config/env.php file.

Functional Tests

Demonstrates testing of CRUD application with:




Phalcon Demo Application is open-sourced software licensed under the New BSD License.
© 2012 - 2020 Phalcon Framework Team and contributors
© 2015 - 2020 Codeception Team and contributors