Blog Banner Image

Automated Controls for Application Development on the PHP Platform

Phalcon, a high-performance web framework developed on PHP, is based on the model-view-controller (MVC) pattern. This framework has its own benefits and limitations. While using Phalcon, developers have to write code for creating models and controllers for the specific application due to its varying features. Additionally, they have to perform input operations from the HTML document or form to create views for each table in the database.

The main challenge arises when the developer has to insert validations according to datatypes for each column in the tables, write code for controller and models, and define actions for saving form values. We have recently contributed a module to the development community phalcon_codegenmysql that enables smooth, agile, and quick development of Phalcon applications. Using this module, developers can easily:

  • Create new controllers and actions
  • Append new actions in existing controllers
  • Create models for the selected tables automatically, if they have not been created earlier
  • Create views for the actions defined in the corresponding directory. These views are created for the input form with respective table columns having validations
  • Submit data using forms after creation

How to Install the Module?

To install this module, developers need to follow the following steps.

1. Install PHP, MySql, and Web server—Apache2, NGINX—on your machine. If you are working on the Debian/Ubuntu operating system, you have to perform the following steps:

            1.          apt-get install tasksel

            2.          Run command tasksel and choose LAMP server. Follow the instructions

If you are working on the Windows operating system, you need to Install Xampp or wampp on your system.


2. Ensure that your system has the latest version of Phalcon. Install on Ubuntu and Windows


3. Clone phalcon_codegenmysql on your webserver directory


4. Go to config file—phalcon_codegenmysql/app/config/config.php—and edit


                        #configure username and password to use code gen

defined('USER_NAME') || define('USER_NAME', 'your username');

                        defined('PASSWORD') || define('PASSWORD', 'your password');


                                     #edit database details

                                     'database' => [

                                'adapter'     => 'Mysql',

                                'host'        => 'localhost',

                                'username'    => 'your mysql root username',

                                'password'    => 'your password',

                                'dbname'      => 'your database',

                                'charset'     => 'utf8',


5. Open URL http://localhost/data and enter your username and password to see the list of tables.

Automated Controls 1

6. On the table listing page, choose tables and fill details by clicking expand (+) button before the table name and submit. You can give existing controller name in order to append your action in the controller.

The model is created for the table if it is not available and the view is created in the view folder of the controller directory.

Automated Controls 2Automated Controls 3

7. Once the submit button is pressed, controller files, model files, and view files are automatically created.


We have technical expertise in providing PHP development solutions from planning, assembling, and implementation, making us the best choice for our clients.