After I participated in several large PHP projects and wrote a lot of PHP code, I found that many tools can improve the Code Quality and simplify the release, making it much easier to be a PHP developer. Many of these tools may already be used. However, since some people have not even noticed the existence of these tools, I will start from now on. Well, I will not talk nonsense. Below is a list of tools that I think all PHP programmers should know. Phing-A Project Construction System
Phing is a Project Construction System Based on Apache ANT. Its name Is PHing Is Not GNU make. Phing can do anything that can be done by a traditional build system such as GNU make without steep learning curves.
The idea behind phing (and other building systems) is to evaluate a series of correlations and then execute a series of PHP classes to correctly install and configure an application system. The construction process is controlled using a simple XML configuration file. Out of the box, phing can execute a series of replicas (for example, changing the include path between your development version and product version) execute SQL statements, move and copy files, and run external scripts. By extending the "task" class contained in the release package, you can also create your own custom tasks.
Phing is invaluable to anyone who needs to deploy large PHP applications on more than one server. At the same time, I found that it is also useful for simple PHP scripts.
Xdebug-debugging and analysis tools
Xdebug is a PHP extension that helps you debug and analyze scripts. The most useful feature of Xdebug is the new attention information, warning information, and error information displayed after activation. If a script cannot run normally, Xdebug will output a full heap trace of the error information, with the function name, parameter value, source file, and row number. This is a welcome feature for programmers who are tired of the poor error reporting feature that PHP only carries by default.
This extension has many more advanced features that allow developers to analyze code coverage, collect analysis information, and interactively debug scripts. The profiling functionality function is particularly useful. Analyzer uses a common output file format, allowing you to quickly discover bottlenecks in your code using tools such as KCacheGrind. For any serious developer, a good analyzer is a basic tool that allows you to properly optimize your code and avoid the dangers of premature optimization.
PHPUnit-unit test framework
PHPUnit is a lightweight PHP testing framework. It is a complete transplantation of JUnit 3.8.1 under PHP5 and a member of the xUnit testing framework family (they are based on the design of the software model pioneer Kent Beck ).
Unit testing is the basis of several modern agile development methods, making PHPUnit a key tool for many large PHP projects. This tool can also be used by the Xdebug extension discussed earlier to generate code coverage reports and can be integrated with phing for automatic testing.
Propel-ORM (Object link ing) Framework
Propel is an object relational ing (ORM) framework under PHP5, which originated from the Apache Torque project. It provides a complex but easy-to-use database abstraction layer, allowing you to use database entities in PHP like using common classes and objects. Propel allows you to define your database in a simple XML format. This XML file is used to map databases and generate static classes used in applications.
Propel is embedded in the popular Symfony PHP framework (and others), which makes the code more flexible, modular, and portable. This project has outstanding documentation for The project has and a great support community.
PhpMyAdmin/phpPgAdmin-web-based database management system
PhpMyAdmin is one of the most useful management tools for any database (PostgreSQL and SQLite are phpPgAdmin and phpSQLiteAdmin. It helps to do everything-from creating and deleting databases for debugging applications to backing up. Installing it is usually the first thing I do after installing Apache, PHP, and MySQL on a LAMP server. If you have never heard of MySQL, install it now.
Other tools