Список полезных инструментов для php разработчикаИсточник: habrahabr Aldarund
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Акселераторы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 SheetsPHP 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. |