PHP is one of the most widely used language for creating dynamics websites and applications. PHP frameworks like Zend, CakePHP, CodeIgniter, etc and open source PHP classes & libraries have made our lives significantly easy.
Whether you are a PHP novice or an experienced developer; tools that you use have direct impact on your productivity. W3Avenue has compiled a list of really useful extensions & tools for PHP developers that will help you speed up development and significantly improve overall quality of your code.
Free open-source PHP accelerator, optimizer, and dynamic content cache. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 time.
The ionCube PHP Accelerator is an easily installed PHP Zend engine extension that provides a PHP cache, and is capable of delivering a substantial acceleration of PHP scripts without requiring any script changes, loss of dynamic content, or other application compromises.
A project build system based on Apache Ant. You can do anything with it that you could do with a traditional build system like GNU make, and its use of simple XML build files and extensible PHP “task” classes make it an easy-to-use and highly flexible build framework. Features include running PHPUnit and SimpleTest unit tests, file transformations, file system operations, interactive build support, SQL execution, CVS/SVN operations, tools for creating PEAR packages, and much more.
Beautify PHP is a completely free service that allows visitors to properly format their PHP code according to PEAR standards.
This program reformat and beautify PHP 4 and PHP 5 source code files automatically. The program is Open Source and distributed under the terms of PHP Licence. It is written in PHP 5 and has a command line tool.
an open source PHP code generator which automatically generates clean & tested Object Oriented code for your PHP4/PHP5 application. By generating PHP objects with integrated CRUD methods, POG gives you a head start in any project.
UML2PHP5 is a plugin designed to fit on the Dia diagram application. It automatically generates the PHP code structure following the diagram’s classes.
Instant SQL Formatter is a free online SQL tidy tool. In addition to beautifying SQL code, It can translate SQL code into C#, Java, PHP, DELPHI and other program languages. It also allows you to find out all database objects such as table, column, function in SQL by selecting output format to list database object.
MySQL Table Editor and PHP Code Generator. Important features offered by phpMyEdit are: table manipulation code generation; record addition, change, view, copy and removal; table paging, sorting and filtering; lookups into other tables (1:M bindings); permission configuration; multiple navigation style possibilities; output design control using CSS; logging user actions; Multilanguage support;ability to extend base class.
Encodes and obfuscates PHP code to make the output difficult to reverse engineer. The application requires no pre-modifications to your code and no additional components on your server. This product allows for encoding of functions, variables and the removal of whitespace.
A PHP obfuscator that turns normal, easy to read PHP code into gibberish; with little to no loss of speed and no loss of compatibility.
Enables PHP developers to access data services created using ADO .NET Data Services framework. The goal is to provide the similar functionality as .NET library to access and modify the data and its relationship using URIs which points to pieces of data integrated with the web.
Propel is an Object-Relational Mapping (ORM) framework for PHP5. It allows you to access your database using a set of objects, providing a simple API for storing and retrieving data.
An object oriented library written in PHP that abstracts database operations for portability. It is modeled on Microsoft’s ADO, but has many improvements that make it unique (eg. Pivot Tables, Active Record support, generating HTML for paging recordsets with next and previous links, cached recordsets, HTML menu generation, etc). Supports large number of databases including: MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and generic ODBC, ODBTP.
Doctrine is an object relational mapper (ORM) for PHP 5.2.3+ that sits on top of a powerful database abstraction layer (DBAL). One of its key features is the option to write database queries in a proprietary object oriented SQL dialect called Doctrine Query Language (DQL), inspired by Hibernates HQL. This provides developers with a powerful alternative to SQL that maintains flexibility without requiring unnecessary code duplication.
The Xdebug extension helps you debug your script by providing a lot of valuable information. The debug information that Xdebug can provide includes: stack traces and function traces in error messages, memory allocation and protection for infinite recursions. Xdebug also provides: profiling information for PHP scripts, code coverage analysis, capabilities to debug your scripts interactively with a debug client. You should also check: Webgrind – Xdebug Profiling Web Frontend in PHP, MacGDBp – Mac OS X application that remotely debug their running PHP applications powered by Xdebug.
FirePHP is ideally suited for AJAX development where clean JSON and XML responses are required. FirePHP enables you to log to your Firebug Console using a simple PHP method call. All data is sent via response headers and will not interfere with the content on your page.
DBG is a a full-featured PHP debugger, an interactive tool that helps you debugging php scripts. It works on a production and/or development WEB server and allows you debug your scripts locally or remotely, from an IDE or console.
Provides assistance in debugging PHP code, by program trace, variables display, process time, included files, queries executed, watch variables… This information is gathered through the script execution and therefore are displayed at the end of the script (in a nice floating div or a html table) so that it can be read and used at any moment.
* More: Debuglib, Krumo
PHP CodeSniffer is a PHP5 script that tokenizes and “sniffs” PHP code to detect violations of a defined set of coding standards. It is an essential development tool that ensures that your code remains clean and consistent. It can even help prevent some common semantic errors made by developers.
Similar to Javadoc, and written in php, phpDocumentor can be used from the command line or a web interface to create professional documentation from php source code. phpDocumentor has support for linking between documentation, incorporating user level documents like tutorials and creation of highlighted source code with cross referencing to PHP general documentation.
PHP Depend is software analyzer and metric tool which aims to provide many useful information about a specified PHP project. PHP Depend can generate a large set of software metrics from a given code base, these values can be used to measure the quality of a software project and they help to identify that parts of an application where a refactoring should be applied.
A Firefox add-on that will allow you to easily translate language files and variables in your PHP scripts.
IDE & Editors
Aptana PHP is the robust, free, open source IDE for PHP featuring everything you need to get started fast and get even faster with developing, testing, tuning, and deploying your PHP apps. From pre-installed PHP servers, code assist, code templates, code generation, debugging, refactoring, Smarty editor, database tools and more, Aptana PHP gives you the end-to-end tools you need for PHP plus all the rest that Aptana Studio has to offer.
PHPEclipse runs on all the major OS platforms and has the following features: Syntax Coloring, Brackets Matching, Code folding, Code Completion, PHP Manual integration, Code templates, XDebug support, DBG Support, CVS & SVN++ support.
A professional-grade development environment that includes PHP code editing, debugging, profiling, unit testing, diagnostics and more.
A web based free Integrated Development Environment for the PHP language, in other words it is an application that gives developers all the code editing capabilities they need to develop PHP applications online. It includes a real-time syntax code editor with support for all web formats and a powerful FTP editor.
VS.Php is a PHP integrated development environment based on Visual Studio 2008. With VS.Php you can design, develop, debug and deploy PHP applications within the Visual Studio IDE.
* More: NetBeans, PhpED, PHPEdit, phpDesigner, TextMate, Komodo IDE
A simple to use, well structured, fast and state-of-the-art security layer for your PHP based web application. The IDS neither strips, sanitizes nor filters any malicious input, it simply recognizes when an attacker tries to break your site and reacts in exactly the way you want it to. Currently the PHPIDS detects all sorts of XSS, SQL Injection, header injection, directory traversal, RFE/LFI, DoS and LDAP attacks. Based on a set of approved and heavily tested filter rules any attack is given a numerical impact rating which makes it easy to decide what kind of action should follow the hacking attempt. This could range from simple logging to sending out an emergency mail to the development team, displaying a warning message for the attacker or even ending the user’s session.
PhpSecInfo provides an equivalent to the phpinfo() function that reports security information about the PHP environment, and offers suggestions for improvement. It is not a replacement for secure development techniques, and does not do any kind of code or app auditing, but can be a useful tool in a multilayered security approach.
A graphical frontend to PHP’s php.ini file, where all of the configuration of PHP takes place. The end result is that you can spend more time on your PHP code and less on tweaking ini file. It supports all of the standard PHP functionality, and has a special tab to handle any 3rd party plugins.
Lighty2Go is a, portable LightTPD, MySQL & PHP (LiMP) stack on a stick for Windows. Take it with you on your USB thumdrive and have some fun.
Personal AMP – Apache, MySQL and PHP – stack for the S60 mobile phone.
Allows you to setup Apache, PHP and the MySQL database on Windows. It also comes with PHPMyAdmin to easily manage your databases. WampServer allows you to add as many Apache, MySQL and PHP releases as you want.
A Webserver that runs out of the box without any installation and on write protected media. This means that web applications based on Server2Go can be used directly from CD ROM, a USB stick or from any folder on a hard disk without the hassle of configuring Apache, PHP or MySQL.
PHPUnit is a member of the xUnit family of testing frameworks and provides both a framework that makes the writing of tests easy as well as the functionality to easily run the tests and analyze their results.
SimpleTest is is similar to JUnit/PHPUnit. It supports mock objects and can be used to automate the regression testing of web applications with a scriptable HTTP Client that can parse HTML pages and simulate things like clicking on links and submitting forms.
vfsStream is a stream wrapper for a virtual file system that may be helpful in unit tests to mock the real file system. It can be used with any unit test framework, like PHPUnit or SimpleTest.
The PHP cheat sheet is a one-page reference sheet, listing date format arguments, regular expression syntax and common functions.
Covering Type: Boolean, Integer, String, Array, Object/Class; String: functions, conversion; Array: functions, conversion; Class: definition, member declaration, member visibility; Date/Time: functions, formats; Predefined Variables: $_SERVER$_FILES
Includes quick reference to CakePHP Config variables, Global Functions, Conventions, Paths and index.php file. It also provides reference for Properties, Methods & Callback functions for Models, View, Controller and Helper classes.
A table of keys that are defined in PHP’s $_SERVER superglobal array running on Apache and IIS servers. The purpose of this table is to allow PHP developers an insight of what to expect if they must migrate from one platform to another.
Anyone still interested in Smarty can use this cheat sheet. Contains quick tips and reference for Smarty template designers.