PHP is one of the most widely used languages for creating websites. PHP frameworks such as Zend, CakePHP, CodeIgniter, etc., and open source classes and libraries have simplified development.
Regardless of whether you are an experienced developer or a beginner, the tools you use have a direct impact on your productivity. Here is a list of really useful utilities and extensions for PHP developers who will help speed development, and improve the final quality of the code.
Accelerators
eAcceleratorFree free php accelerator, optimizer, and dynamic cache. It increases the performance of PHP scripts by caching them in their compiled form. Optimization also increases the speed of the scripts. eAccelerator usually reduces the load on the server and increases the speed of the PHP code by 1-10 times.
ionCube PHP AcceleratorionCube PHP Accelerator is an easy-to-install PHP Zend extension that caches PHP code and can significantly speed up PHP scripts without any changes in the code itself.
Windows Cache Extension for PHPThe module for IIS7 performs the functions of a PHP accelerator. Supports PHP 5.2 and 5.3. Cache php bytecode into memory
Alternative PHP CacheA free and open system for caching precompiled PHP scripts can significantly increase the performance of PHP scripts running from under mod_php.
Build system
PhingBuild based Apache Ant system. Allows you to do everything that you can do with traditional build systems, such as GNU make. Uses simple XML for build files and extensible PHP task classes. Allows you to run PHPUnit and SimpleTest unit tests, do file processing (ie, replace tokens, XSLT transformation, etc.), file system operations, interactive project assembly, execute SQL code, CVS / SVN operations, create PEAR packages, and much more.
')
Code
BeautifyPHPBeautify PHP is a completely free service, formatting PHP code in accordance with PEAR standards.
PHP BeautifierThis program reformats PHP 4 and PHP 5 files automatically.
PHP Object Generator (POG)Open source PHP code generator that automatically generates object-oriented classes (PHP4 / PHP5) for accessing a database with CRUD methods.
UML2PHP5UML2PHP5 is a plugin designed for the
DIA charting application. Automatically generates PHP code corresponding to diagrams.
Instant SQL FormatterInstant SQL Formatter is a free online service for formatting SQL code. It can also translate SQL code in C #, Java, PHP, DELPHI and other languages (as strings). Allows you to display a list of database objects in SQL code, such as tables, columns, functions.
phpMyEditMySQL table editor and PHP code generator. Main features of phpMyEdit: generation of table change code; adding records, changing, viewing, copying and deleting; sorting, filtering and pagination for tables; query to other tables (one-to-many relationship); access rights configuration; various navigation options; customizable CSS design; logging user actions; multilingual.
PHP ObfuscatorObfusts PHP code. Does not require additional libraries and components installed on the server. Allows obfustsirovat functions, variables and remove spaces.
Code eclipsePHP obfuscator, which turns ordinary PHP code into a terrible, unreadable code with minimal losses in execution speed and without any loss in compatibility.
Database
PHP Toolkit for ADO .NET Data ServicesAllows PHP developers to access data sources created using ADO .NET Data Services. The goal of the project is to provide the same functionality as the .NET library.
PropelPropel is an ORM framework for PHP5. Gives access to the database using special objects that have a simple API for storing and retrieving data.
ADOdbObject-oriented library written in PHP, which allows you to abstract from operations with a specific database for portability. Modeled with Microsoft's ADO, but has many improvements that make this library unique (such as Pivot tables, Active Record support, HTML generation for paginating recordsets with links to the next and previous pages, cached recordsets, HTML menu generation, etc. ). Supports a large number of databases: MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, and standard ODBC, ODBTP.
DoctrineDoctrine is ORM for PHP 5.2.3+, which is based on the base abstraction layer (DBAL). One of the key advantages is the ability to write database queries in the object-oriented SQL dialect - Doctrine Query Language (DQL), created under the impression of Hibernate HQL. DQL provides developers with a powerful, flexible alternative to SQL, which does not require unnecessary re-writing.
Debugging
Xdebug Debugger and Profiler ToolXdebug is an extension for debugging php scripts written by Derick Rethans, one of the developers of the PHP language. Xdebug provides the following information: function call stack, memory allocation. Xdebug features: profiling, code coverage analysis, protection from infinite recursion, interactive script debugging. You should also check:
Webgrind is a web interface for Xdebug profiling written in PHP,
MacGDBp is a Mac OS X client that allows you to debug PHP applications using Xdebug.
FirephpFirePHP allows you to send debug messages to the Firebug console by calling php methods. All information is sent through the X-FirePHP-Data headers, without interfering with the main content of the pages.
DBG - PHP Debugger and ProfilerDBG is a full-featured, interactive PHP debugger. It can work on a test or / and production server and allows you to debug scripts locally or remotely, from the IDE or from the console.
Php debugIt helps in debugging PHP code, shows the script execution path, displays all variables, execution time, included files, executed requests, watch variables ... This information is collected during the execution of the script and displayed upon completion and then can be used at any time.
More:
Debuglib ,
KrumoDevelopment
PHP CodeSnifferPHP CodeSniffer is a PHP5 script that checks the code for compliance with coding standards. May help prevent common semantic errors made by developers. Easily integrates with SVN to verify the code before committing.
phpDocumentorAn analogue of Javadoc, written in PHP, phpDocumentor can be invoked from the command line or the web interface to create documentation from php code. phpDocumentor maintains a link between the documentation, connecting user-level documents, such as tutorials and creating highlighted code with cross-links to regular PHP documentation.
DoxygenDoxygen is a cross-platform source documentation system that supports PHP (as well as many other languages).
Doxygen generates documentation based on a set of source texts and can also be configured to extract the program structure from undocumented source codes. It is possible to create graphs of dependencies of program objects, class diagrams and source codes with hyperlinks.
PHP DependPHP Depend is an analyzer and measurement tool that can provide a wealth of useful information about a PHP project. PHP Depend generates a large number of metrics, the values obtained can be used to determine the quality of the project and its parts that need refactoring.
phpLangEditorFirefox add-on simplifies the translation of file and variable languages in PHP scripts.
IDE & Editors
NetbeansNetBeans is a free, fast, cross-platform IDE that understands PHP well. It is nice to write PHP code in it, because there are all the necessary tools for this - highlighting, code completion from all connected files, PHP class browser, pop-up documentation on standard functions, and so on. NetBeans can download and upload files to remote servers via FTP and SFTP, has an advanced SQL terminal and fully automates work with SVN or CVS.
Aptana PHP Development EnvironmentThe IDE is equipped with contextual help, code completion, highlighting and syntax checking, has a built-in debugger and an auto-generator of typical code blocks. The environment supports the development of Ajax applications, has the means for visually navigating through the code, maintaining the task list (Todo) and preparing project documentation. An integrated web server allows you to instantly evaluate the result of work. Built-in testing tools support the ability to evaluate the display of a prepared project in various versions of web browsers. Aptana PHP is designed as a module for Eclipse or for the specialized Aptana Studio environment built on the basis of Eclipse.
PHPEclipsePHPEclipse is a plug-in for eclipse with the following features: syntax highlighting, pair brackets, code folding, code completion, php documentation integration, code templates, support for DBG and XDebug, support for CVS & SVN ++.
Zend StudioZend Studio is a professional environment for developing and debugging web projects. A distinctive feature of the program is the ability to remote debugging and profiling. Zend Studio includes a PHP package with an extensive list of precompiled extensions as an option. Also included in the environment package is Zend Optimizer, which is a server module for running scripts that are encoded using Zend Encoder and Zend SafeGuard Suite, as well as slightly accelerating. The seventh version of Zend Studio introduced support for PHP 5.3, integration with the Zend Framework and Zend Server, improved source code editing and various program performance improvements.
PHPanywherePHPanywhere is an online PHP editor. Powered by Ext JS. All necessary functions are present - highlighting, encoding, etc. Using the service is completely free and requires only registration.
VS.Php For Visual StudioVS.Php is an integrated development environment based on Visual Studio IDE that allows you to develop, create, debug and implement PHP applications on a professional level, using all the features offered by VisualStudio.Net. The PHP code editor has great functionality, providing access to the built-in PHP functions, as well as written functions and classes ..
NuSphere phedNuSphere PhpED is a professional integrated processing environment designed to build applications using databases and PHP, HTML, XML, CSS. A robust code editor, excellent code highlighting in PHP, XML, XHTML, HTML, CSS and javascript, a powerful PHP debugger, profiler and publisher - all in one.
The program also includes integrated database and CVS clients, SOAP services, HTML validator and Code Formatting tools, support for working with Smarty, Unicode editor, SFTP is supported for secure downloads and downloads, Telnet, SSH terminals for remote administration, support for MySQL functionality, Oracle, MSSQL SQLite, Interbase, error analysis support, fully customizable graphical user interface, PHP code analyzer, and more
Eclipse pdtPDT (PHP Development Tools) is an Eclipse plugin designed for PHP developers. It is much more than just a decent free replacement for Zend Studio and NuSphere PhpED. The pdt-all-in-one distribution includes the Eclipse platform and all the necessary plug-ins for PHP development.
Jetbrains Web IDE EAPJetBrains Web IDE is an IDE for web programming. It is built on the basis of the JetBrains IDE Framework. The Web IDE is available in two versions: the standard version includes support for HTML, CSS, Javascript. PHP and SQL support is added to the PHP Developer edition.
More:
PhpED ,
PHPEdit ,
phpDesigner ,
Komodo IDE ,
Free Komodo Edit ,
TextMate ,
PHP Expert Editor ,
Notepad ++ ,
Notepad2 ,
Code LobsterSecurity
PHP Intrusion Detection System (PHPIDS)PHPIDS is an easy-to-use, well-structured, fast attack detection system. At the moment, he is able to catch all kinds of XSSs, SQL injections, splitting a query, passing through directories, RFE / LFI, DoS and LDAP injections. Copes with obfuscated attacks based on Unicode, encodings, etc. It connects to the project as a library, accepts an array with all input data that requires verification, returns an object with information about attack attempts detected in the input data and the degree of risk for each of them, based on a set of tested and tested rules, each attack is assigned a rating danger. This will allow you to easily save attack statistics or send notifications to the development team.
PhpSecInfoPhpSecInfo adds the equivalent of the phpinfo () function, which provides security information for the PHP environment, and offers tips for improvement. This is not a replacement for a secure development technician, and does not do any kinds of code or application audits.
Installation
PHPConfigA graphical shell for configuring php via the php.ini file. It supports all standard functionality, and has a special tab for plugins.
Lighty2goLighty2Go is a portable version of LightTPD, MySQL & PHP (LiMP) for Windows.
PampPersonal AMP - Apache, MySQL and PHP - set for S60 mobile phones.
WampserverAllows you to install Apache, PHP and MySQL on Windows. Comes with PHPMyAdmin for database management. WampServer can work with different versions of PHP, MySQL and Apache, and switch between them.
Server2goThe web server does not require installation and works on write-protected media. It can be used directly from a CD, from a USB flash drive or just a folder on a hard disk without the headache of configuring PHP, Apache and MySQL.
DenwerThe Gentleman Web Development Kit (“D.N.w.r.”, read Denver) is a project by Dmitry Koterov, a set of distributions (Apache, PHP, MySQL, Perl, etc.) and a software shell used by Web developers. to develop websites on a “home” (local) Windows machine without having to access the Internet. The main feature of Denver is the convenience for remote work on several independent projects at once and the ability to place it on a flash drive.
XamppXAMPP is php, mysql, apache + perl module + filezilla + eAccelerator + still various buns. There are versions for Windows, Linux, MacOS and Solaris.
More:
AppServTesting
PHPUnitPHPUnit is one of the xUnit testing frameworks and simplifies writing tests, as well as running them and analyzing results.
SimpletestSimpleTest is an analogue of JUnit / PHPUnit. It supports mock objects and can be used to automate regression testing of web applications. This is possible with the help of a scriptable HTTP client that scans the page and simulates such things as clicking on links and submitting forms.
vfsStreamvfsStream is a file stream wrapper, useful for unit testing to create mock file system objects. It can be used in conjunction with any testing framework, such as SimpleTest or PHPUnit.
Continuous integration
phpUnderControlphpUnderControl is an add-on for the CruiseControl automated build system that contains some of the best PHP development tools. The project aims to make the first steps with PHP and CruiseControl as easy as possible. A utility is added to phpUnderControl to modify the existing deployed CruiseControl system.
XincXinc is a continuous integration server written in PHP 5. It has built-in support for Subversion and Phing (that is, PHPUnit), and can be easily modified to support other version control systems and build systems.
Cheat sheets
PHP Cheat Sheet by AddedBytesA one-page cheat sheet that lists arguments for date formatting functions, regular expression syntax, and common functions.
PHP 5 Online Cheat SheetType conversion: Boolean, Integer, String, Array, Object / Class; Lines: functions, processing; Arrays: functions, processing; Classes: declaration, declaration of methods, visibility; Date / Time: functions, formats; Predefined variables: $ _SERVER, $ _FILES
The CheatSheet - CakePHP 1.2Includes CakePHP config variables, global functions, code design conventions, paths. Also contains properties, methods and callbacks of functions for Models, View, Controller and Helper classes.
PHP $ _SERVER Superglobal on Apache & IISThe table of keys defined in the $ _SERVER superglobal variable on Apache and IIS. This table allows to estimate the difference between the server in the case of migration from one to another.
Smarty cheat sheetProvides tips for Smarty template designers.