Список полезных инструментов для php разработчика

Источник: habrahabr
Aldarund

PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.

Акселераторы


eAccelerator
Бесплатный свободный PHP акселератор, оптимизатор, и динамический кэш. Он увеличивает производительность PHP скриптов, кешируя их в их скомпилированном виде. Также оптимизация увеличивает скорость работы скриптов. eAccelerator обычно уменшает нагрузку на сервер и увеличивает скорость PHP кода в 1-10 раз.
ionCube PHP Accelerator
ionCube PHP Accelerator это легко устанавливаемое PHP Zend расширение, которое кеширует PHP код, и способное существенно ускорить PHP скрипты без изменений в самом коде.
Windows Cache Extension for PHP
Модуль для IIS7 выполняющий функции PHP акселератора.Поддерживает PHP 5.2 и 5.3. Кеширует php байткод в память
Alternative PHP Cache
Бесплатная и открытая система для кэширования предкомпилированных PHP скриптов, позволяет значительно увеличить производительность PHP скриптов выполняющихся из под mod_php.

Билд системы


Phing
Билд система основанная Apache Ant. Позволяет делать все, что можно делать с традиционными билд системами, такими как GNU make. Использует простой XML для билд файлов и расширяемые PHP классы задач. Позволяет запускать PHPUnit and SimpleTest юнит тесты, делать обработку файлов (т.е. замены токенов, XSLT трансформацию и т.д.), операции с файловой системой, интерактивная сборка проекта, выполнение SQL кода, CVS/SVN операции, создание PEAR пакетов, и многое другое.

Код


BeautifyPHP
Beautify PHP полностью бесплатный сервис, форматирующий PHP код в соответствии со стандартами PEAR.
PHP Beautifier
Эта программа переформатирует файлы PHP 4 и PHP 5 автоматически.
PHP Object Generator (POG)
Open source генератор PHP кода, автоматически генерирующий объектно-ориентированные классы (PHP4/PHP5) для доступа к базе данных с CRUD методами.
UML2PHP5
UML2PHP5 это плагин разработанный для приложения построения диаграмм DIA. Автоматически генерирует PHP код, соответствующий диаграммам.
Instant SQL Formatter
Instant SQL Formatter - бесплатный онлайн сервис для форматирования SQL кода. Также может переводить SQL код в C#, Java, PHP, DELPHI и другие языки (в виде строк). Позволяет вывести список объектов базы в SQL коде, таких как таблицы, колонки, функции.
phpMyEdit
Редактор таблиц MySQL и генератор кода PHP. Основные возможности phpMyEdit: генерация кода изменения таблиц; добавление записей, изменение, просмотр, копирование и удаление; сортировка, фильтрация и разбивка на страницы для таблиц; запросу в другие таблицы (связь один ко многим); конфигурация прав доступа; различные возможности навигации; дизайн, настраиваемый с помощью CSS; логгирование действий пользователей; многоязычность.
PHP Obfuscator
Обфусцирует PHP код. Не требует дополнителных установленных на сервере библиотек и компонентов. Позволяет обфусцировать функции, переменные и удалять пробелы.
Code Eclipse
PHP обфускатор, превращающий обычный PHP код в ужасный, нечитаемый код с минимальными потерями в скорости выполнения и без всяких потерь в совместимости.

База данных


PHP Toolkit for ADO .NET Data Services
Позволяет PHP разработчикам обращаться к источникам данных созданных с помощью ADO .NET Data Services. Целью проекта является предоставление такой же функциональности, как и библиотеки .NET.
Propel
Propel это ORM фреймворк для PHP5. Дает доступ к базе данных с помощью специальных объектов, имеющих простое API для хранение и получения данных.
ADOdb
Объектно-ориентированная библиотека, написанная на PHP, которая позволяющая абстрагироваться от операций с конкретной базой данных ради портабельности. Моделировалась с Microsoft"s ADO, но имеет множество улучшений делающий данную библиотеку уникальной ( таких как Pivot таблицы, поддержка Active Record, генерация HTML для разбиения на страницы recordsets со ссылками на следующую и предыдущую страницу, кешируемые recordsets, HTML menu generation, и т.д.). Поддерживает большое количество баз данных: MySQL, PostgreSQL, Interbase, Firebird, Informix, Oracle, MS SQL, Foxpro, Access, ADO, Sybase, FrontBase, DB2, SAP DB, SQLite, Netezza, LDAP, и стандартные ODBC, ODBTP.
Doctrine
Doctrine это ORM for PHP 5.2.3+, который создан на основе слоя абстракции базы (DBAL). Одним из ключевых преимуществ является возможность писать запросы к базе данных на объектно-ориентированном диалекте SQL - Doctrine Query Language (DQL), созданном под впечатлением от Hibernate HQL. DQL предоставляет разработчикам мощную, гибкую альтернативу SQL, которая не требует лишнего написания повторного кода.

Отладка


Xdebug Debugger and Profiler Tool
Xdebug это расширение для отладки php-скриптов, которое написал Derick Rethans, один из разработчиков языка PHP. Xdebug предоставляет следующую информацию: стек вызовов функций, распределение памяти. Возможности Xdebug: профайлинг, анализ покрытия кода, защита от бесконечной рекурсии, интерактивная отладка скриптов. You should also check: Webgrind - веб-интерфейс для профайлинга Xdebug, написанный на PHP, MacGDBp - Mac OS X клиент, который позволяет отлаживать PHP приложения при помощи Xdebug.
FirePHP
FirePHP дает возможность посылать отладочные сообщения в консоль Firebug с помощью вызова php методов. Вся информация посылается через заголовки X-FirePHP-Data, тем самым не пересекаясь с основным контентом страниц.
DBG - PHP Debugger and Profiler
DBG это полноценный, интерактивный PHP отладчик. Он может работать на тестовом или/и рабочем сервере и позволяет отлаживать скрипты локально или удаленно, из IDE или из консоли.
PHP Debug
Помогает в отладке PHP кода, показывает путь выполнения скрипта, отображает все переменные, время выполнения, включенные файлы, выполненные запросы, watch переменные… Эта информация собирается во время выполнения скрипта, и отображается по его завершению и потом может быть использована в любой момент.
Еще: Debuglib, Krumo

Разработка


PHP CodeSniffer
PHP CodeSniffer это PHP5 скрипт проверяет код на соответствие стандартам кодирования. Может помочь предотвратить распространённые семантические ошибки, допускаемые разработчиками. Легко интегрируется с SVN для проверки кода перед коммитом.
phpDocumentor
Аналог Javadoc, написанный на PHP, phpDocumentor может быть вызван из командной строки или веб-интерфейса для создания документации из php кода. phpDocumentor поддерживает связь между документацией, соединяя документа уровня пользователя, такие как туториалы и создание подсвеченного кода с кросссылками на обычную PHP документацию.
Doxygen
Doxygen - это кроссплатформенная система документирования исходных текстов, которая поддерживает PHP (а также множества других языков).
Doxygen генерирует документацию на основе набора исходных текстов и также может быть настроен для извлечения структуры программы из недокументированных исходных кодов. Возможно составление графов зависимостей программных объектов, диаграмм классов и исходных кодов с гиперссылками.
PHP Depend
PHP Depend это анализатор и измерительный инструмент, который может предоставить множество полезный информации об PHP проекте. PHP Depend генерирует большое количество метрик, полученные значения могут быть использованы для определения качества проекта и его частей, нуждающихся в рефакторинге.
phpLangEditor
Firefox add-on упрощающий перевод языков файлов и переменных в PHP скриптах.

IDE & Редакторы


NetBeans
NetBeans - бесплатная, быстрая, кросс-платформенная IDE, которая хорошо понимает язык PHP. В ней приятно писать PHP-код, потому что присутствует все необходимые для этого инструменты - подсветка, дополнение кода из всех подключенных файлов, браузер классов PHP, всплывающая документация по стандартным функциям и так далее. NetBeans умеет скачивать и закачивать файлы на удаленные сервера по FTP и SFTP, имеет развитый SQL-терминал и полностью автоматизирует работу с SVN или CVS.
Aptana PHP Development Environment
IDE снабжена средствами контекстной подсказки, автодополнения кода, подсветки и проверки синтаксиса, имеет встроенный отладчик и автогенератор типовых блоков кода. Среда поддерживает разработку Ajax-приложений, имеет средства для визуальной навигации по коду, поддержания списка задач (Todo) и подготовки документации к проекту. Интегрированный в среду web-сервер позволяет мгновенно оценить результат работы. Встроенные средства тестирования поддерживают возможность оценки отображения подготовленного проекта в различных версиях web-браузеров. Aptana PHP выполнена в виде модуля для Eclipse или для специализированной среды Aptana Studio, построенной на базе Eclipse.
PHPEclipse
PHPEclipse - это плагин для эклипс со следующими возможностями: подствека синтаксиса, парные скобки, сворачивание кода, автодополнение кода, интеграция php документации, шаблоны кода, поддержка DBG и XDebug, поддержка CVS & SVN++.
Zend Studio
Zend Studio - профессиональная среда для разработки и отладки веб-проектов. Отличительной особенностью программы является возможность удаленной отладки и профайлинга. В состав Zend Studio в качестве опции входит пакет PHP вместе с обширным списком предварительно скомпилированных расширений. Также в пакет среды входит Zend Optimizer, являющийся серверным модулем для запуска закодированных с помощью Zend Encoder и Zend SafeGuard Suite скриптов, а также немного их ускоряющий. В седьмой версии Zend Studio появилась поддержка PHP 5.3, интеграция с Zend Framework и Zend Server, улучшено редактирование исходного кода и различные улучшения производительности программы.
PHPanywhere
PHPanywhere - это онлайн PHP-редактор. Работает на Ext JS. Все необходимые функции присутствуют - подсветка, кодировки и т.д. Пользование сервисом совершенно бесплатно и требует лишь регистрации.
VS.Php For Visual Studio
VS.Php - это интегрированная среда разработки, основанная на Visual Studio IDE и позволяющая разрабатывать, создавать, отлаживать и внедрять PHP приложения на профессиональном уровне, используя все возможности, предлагаемые VisualStudio.Net. Редактор PHP-кода обладает большой функциональностью, предоставляя доступ к встроенным функциям PHP, а так же написанным функциям и классам..
NuSphere PhpED
NuSphere PhpED - это профессиональная интегрированная среда обработки, предназначенная для того, чтобы формировать приложения с использованием баз данных и PHP, HTML, XML, CSS. Устойчивый редактор кода, отличная система подсветки кода в языках PHP, XML, XHTML, HTML, CSS и javascript, мощный PHP отладчик, профилировщик и издатель - все в одном.
Программа также включает интегрированную базу данных и клиенты CVS, сервисы SOAP, валидатор HTML и инструментальные средства Форматера Кода, поддержка работы с Smarty, редактор Unicode, SFTP поддерживается для безопасных загрузок и закачек, Telnet, SSH терминалы для удаленного администрирования, поддержка функциональных возможностей MySQL, Oracle, MSSQL SQLite, Interbase, поддержка анализа ошибок, графический интерфейс пользователя полностью настраиваемый, анализатор PHP кода и многое другое
Eclipse PDT
PDT (PHP Development Tools) - плагин Eclipse, предназначенный для PHP-разработчиков. Является намного более чем просто достойной бесплатной заменой Zend Studio и NuSphere PhpED. Дистрибутив pdt-all-in-one включает в себя платформу Eclipse и все необходимые плагины для разработки на языке PHP
Jetbrains Web IDE EAP
JetBrains Web IDE это IDE для веб программирования. Она построена на основе платформы JetBrains IDE Framework.Web IDE доступна в двух вариантах: в стандартный вариант включена поддержка HTML, CSS, Javascript. В PHP Developer edition добавляется поддержка PHP и SQL.

Еще: PhpED, PHPEdit, phpDesigner, Komodo IDE, Free Komodo Edit, TextMate, PHP Expert Editor, Notepad++, Notepad2, Code Lobster

Безопасность


PHP Intrusion Detection System (PHPIDS)
PHPIDS - это легкая в использовании, хорошо структурированная, быстрая система обнаружения атак. На данный момент умеет ловить всевозможные виды XSSы, SQL инъекции, расщепления запроса, проход по директориям, RFE/LFI, DoS и LDAP инъекции. Справляется с обфусцированными атаками на базе юникодов, кодировок и т.п. Подключается к проекту как библиотека, принимает на вход массив со всеми входными данными, которые требуют проверки, возвращает объект с информацией об обнаруженных во входных данных попытках атаки и степени риска по каждой из них, на основе набора проверенных и оттестированных правил каждой атаке сопоставлен рейтинг ее опасности. Это позволит легко сохранять статистику по атакам или отсылать уведомления для команды разработчиков.
PhpSecInfo
PhpSecInfo добавляет эквивалент функции phpinfo() который предоставляет информацию о безопасности PHP окружения, и дает советы по улучшению. Это не замена техник безопасной разработки, и не делает никаких видов аудита кода или приложений.

Установка


PHPConfig
Графическая оболочка для настройки php через файл php.ini. Поддерживает всю стандартную функциональность, и имеет специальную закладку для плагинов.
Lighty2Go
Lighty2Go это портабельная версия LightTPD, MySQL & PHP (LiMP) для Windows.
PAMP
Personal AMP - Apache, MySQL and PHP - комплект для мобильных телефонов S60.
WampServer
Позволяет установить Apache, PHP и MySQL на Windows. В комплекте идет PHPMyAdmin для управления базой. WampServer умеет работать с различными версиями PHP, MySQL и Apache, и переключаться между ними.
Server2Go
Вебсервер не требующий инсталляции и работающий на носителях, защищенных от записи. Может быть использован прямо с CD диска, с USB флешки или просто папки на жестком диске без головной боли от конфигурирования PHP, Apache и MySQL.
Denwer
Джентльменский набор Web-разработчика ("Д.н.w.р", читается "Денвер") - проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на "домашней" (локальной) Windows-машине без необходимости выхода в Интернет. Главная особенность Денвера - удобство при удаленной работе сразу над несколькими независимыми проектами и возможность размещения на Flash-накопителе.
XAMPP
XAMPP - это php, mysql, apache + perl модулем + filezilla + eAccelerator + еще различные плюшки. Существуют версии под Windows, Linux, MacOS и Solaris.
Еще :AppServ

Тестирование


PHPUnit
PHPUnit является одним из семейства тестирующий фреймворков xUnit и упрощает написание тестов, так же как и их запуск и анализ результатов.
SimpleTest
SimpleTest это аналог JUnit/PHPUnit. Поддерживает mock объекты и может быть использован для автоматизации регрессионного тестирования веб приложений. Это возможно при помощи скриптабельного HTTP клиента, парсящего страницы и симулирующего такие вещи, как переход по ссылкам и отправка форм.
vfsStream
vfsStream это обертка для потоков файловой, полезная при юнит тестировании для создания mock объектов файловой системы. Можно использовать совместно с любым тестирующим фреймворком, например SimpleTest или PHPUnit.

Непрерывная интеграция


phpUnderControl
phpUnderControl это аддон для системы автоматической сборки CruiseControl, который содержит некоторые из лучших средств разработки на PHP. Проект нацелен на то, чтобы первые шаги с PHP и CruiseControl были как можно проще. К phpUnderControl прилагается утилита для модификации существующей развернутой системы CruiseControl.
Xinc
Xinc это сервер непрерывной интеграции написанный на PHP 5. Имеется встроенная поддержка Subversion и Phing (то есть и PHPUnit), и может быть легко модифицирован для поддержки других систем контроля версий и билд систем.

Cheat Sheets


PHP Cheat Sheet от AddedBytes
Одностраничный cheat sheet, перечисляющий аргументы для функций форматирования дат, синтаксис регулярных выражений и распространенные функции.
PHP 5 Online Cheat Sheet
Приведение типов: Boolean, Integer, String, Array, Object/Class; Строки: функции, обработка; Массивы: функции, обработка; Классы: объявление, объявление методов, видимость; Дата/Время: функции, форматы; Предопределённые переменные: $_SERVER, $_FILES
The CheatSheet - CakePHP 1.2
Включает CakePHP переменные конфига, глобальные функции, соглашения по оформлению кода, пути. Также содержит свойства, методы и каллбэки функций для Models, View, Controller и Helper классов.
PHP $_SERVER Superglobal on Apache & IIS
Таблица ключей, определенных в суперглобальной переменной $_SERVER на Apache и IIS. Данная таблица позволить оценить разницу между сервера в случае миграции с одного на другой.
Smarty Cheat Sheet
Содержит подсказки для дизайнеров шаблонов Smarty.

Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=33797