войти зарегистрироваться

PHPАвтодокументация PHP в NetBeans 7.01 с использованием phpDocumentor, рассказываем, настраиваем, исправляем

В этой статье вы получите новые и старые знания, в частности некоторые из них появились совершенно недавно в рунете, а некоторые вообще введены мной прямо на месте не отходя от кассы.

Итак вы узнаете:
  • Базовую информацию о том, что такое автодокументация и как она делается в PHP
  • Настройка генератора документации phpDocumentor в NetBeans 7.01
  • Ссылка на исправленную мной библиотеку phpDocumentor со списком внесенных изменений, думаю некоторым может сразу же понадобиться
  • Ссылки на почитать

На проекте столкнулся с тем, что потребовалось создать нормальную документацию. Писать отдельно документацию не самый лучший способ, базовое описание библиотеки можно выполнить и в стиле автодокументации. Начал разбираться в вопросе и о чудо, в NetBeans 7.01 оказывается поддерживается PHPDoc, вполне достойно и удобно. Был удивлен бедностью информации по этой тематике в русском сегменте сети. Кроме того, я нашел несколько подводных камней, которые создавали проблемы при настройке под Windows.

Если заинтересовались, то добро пожаловать под кат

PHPDocblox — некоторые нововведения

Эта статья более подробно рассматривает некоторые нововведения, предложенные Docblox,- системой документирования для PHP 5.3+. Для понимания некоторых вещей необходимо прочитать предыдущую статью. Для простоты в качестве каталога с тестовыми исходными кодами я использовал /src/example/ (/src— симлинк на реальный каталог с моими исходными кодами).

PHPDocblox — система документирования, совместимая с PHP 5.3+ из песочницы

При очередном обновлении Phing с помощью PEAR я обратил внимание на список дополнительных зависимостей и решил посетить сайты тех проектов, названия которых мне ничего не говорили. Среди прочего я нашел один многообещающий проект, которым бы и хотел с вами поделиться. Представляю вам Docblox — новую систему документирования PHP-приложений, развивающую идеи, заложенные во всем известном PHP Documentor'е. На данный момент согласно нотации PEAR проект находится в стадии бета-тестирования, но уже используется при разработке таких проектов, как Zend Framework, Phing, Fuel и некоторых других.

PHPОбеспечение качества программного продукта

Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.

Веб-разработкаДокументирование шаблонов

Документация — это хорошо! Она позволяет экономить время, и гармонично работать людям в команде. Встроенная в код документация — вдвойне хороша, она находится там где она нужна и не надо далеко ходить чтобы ее написать.

Под катом пара наглядных примеров документации к шаблонам.


PHPJetBrains PhpStorm (AKA WebIDE) — публичная сборка 94.335

В этой сборке вас ждут:

Новое имя. Два варианта Web IDE получили свои официальные названия: JetBrains WebStorm и JetBrains PhpStorm. Брендинг еще не закончен так что вы увидите знакомые белые сплэши и иконки WI в самых разных местах. Цель разработки остается прежней — идеальный инструмент для PHP/JS разработчиков и веб-дизайнеров.

Полностью настраиваемый PHP formatter – эта фича получила наибольшее количество голосов в трекере.

PHPJetBrains WebIDE — публичная сборка #701 / немного о ZendCon'09 / кое что о неочевидных возможностях

И снова «идеальное IDE для PHP» от JetBrains ^) За прошедшее с предыдущей сборки время мы успели обзавестись официальным сайтом, посетить ZendCon'09 и наконец заняться обещанной оптимизацией производительности. Нашлось время и на несколько новых фич. Пока качается билд загляните под кат — кроме обычных подробностей там будет пара слов о ZendCon и о уникальных функциях платформы/WI.



Управление проектамиКонфигурационный менеджмент (часть 2, обзор инструментов)

Прошло много времени, прежде чем я созрел на написание второй части статьи, посвященной управлению конфигурациями. Тому, что это наконец таки свершилось способствует тот факт, что не так давно мне посчастливилось выступать на конференции PHPCONF 2009 8 октября (Web Architect Workshop Day) с мастер-классом «Метод организации репозитория исходного кода». Для выступления были заблаговременно подготовлены презентация, а также текст доклада. Несмотря на отличную организацию мероприятия, для публичного доступа так и не были выложены материалы докладов, входящих в программу конференции. В качестве компенсации я решил таки опубликовать материал, использованный в моем выступлении. Кроме данной статьи, (которая является логическим продолжением предыдущей), посвященной конфигурационному менеджменту, для публичного обозрения доступны слайды презентации.
В данной статье пойдет речь об инструментах, использующихся при управлении конфигурациями. Поэтому в первую очередь хотелось бы заострить внимание на том, как инструменты, использующиеся в разработке могут влиять на процесс создания ПО.

PHPJetBrains WebIDE — публичная сборка #500

Квест «идеальное IDE для PHP» продолжается :) За прошедшую с предыдущей сборки неделю стали доступны две наиболее востребованые фичи — PHPUnit и FTP, ну и конечно мы постарались исправить как можно больше ошибок.

IDE
— начальная версия поддержки удаленных хостов — пока что только FTP upload. (Планируется: открытие удаленного проекта, автосинхронизация, SFTP/SSL/всякие cloud storage). Находится в меню Settings — Deploy&Run.
— Новые удобные закладки (F11)

PHP
— начальная версия поддержки PHPUnit (пока только локальный запуск)
— добавлено выведение типов для переменной в «foreach(...)», элемента массива «array[...]» и тернарного оператора "?:"
— добавлены поиск использований (Ctrl-Alt-F7) и переименование (Shift-F6) для глобальных переменных
— исправлены поиск использований и переименование для статических членов класса
— исправлены различные ошибки форматирования кода и комментариев

Загрузка Анонс

FTP PHPUnit

PHPJetBrains WebIDE — четвертая публичная сборка (#470)

Мы продолжаем нашу борьбу за идеальное IDE для PHP ^) Анонс предыдущей сборки на хабре подарил нам огромное количество информации и указал основные направляния для совершенствования. В этот раз мы сосредоточились на выведении типов, (авто)дополнении и производительности. Под «выведением типов» подразумевается определение типов переменных, выражений и функции на основе анализа кода (а не PHPDOC @аннотаций)

В этой сборке мы добавили:
— автоматическое выведение типов возвращаемых значений функций на основе анализа операторов return
— автоматическое определение фактических свойств класса и их типов путем анализа кода конструктора (см. скриншоты)
анализ функций
анализ конструктора
— автоопределение типов глобальных переменных без аннонаций
— полную поддержку аннотаций @var и @global
— автовызов дополнения после $ и ->
— дополние внутри PHPDOC @тегов (частично), $переменных (из следующей декларации) и видимых типов
— сокрытие __magic() методы при первом вызове (если есть другие члены класса)
— ограничили дополение внутри catch() подклассами Exception

Производительность улучшли, настолько насколько это возможно в экспериментальной версии. По мере приближения к релизу ей будет уделяться основное внимание.

Скачать Анонс Подробный список изменений

Приглашаем всех пробовать и продолжать дискуссию :)

UPD: в этом билде был найден серьезный баг — дополнение часто не срабатывает для классов не из текущего файла :((( уже исправлено — будет доступно на следующей неделе.