• Php Inspections (EA Extended): выбираем стратегию на 2016 год

      С наступившим новым годом, хабровчане!

      2015 год был очень насыщенным для мира PHP: это и долгожданный релиз 7-ой версии, и мажорное обновление многих фреймворков, и множество многообещающих RFC.

      Для Php Inspections (EA Extended) прошедший год был тоже очень насыщенным: проект увидел свет, очень быстро повзрослел и смог сделать мир PHP чуточку лучше (symfony2, symfony 1.5, PHP CS Fixer).

      Напомню, что Php Inspections (EA Extended) — это отдельный плагин, расширяющий возможности штатного анализа в PhpStorm и Idea Ultimate. Ранние анонсы на хабре: раз, два, три.

      Далее (под катом): несколько опросов и возможность повлиять на выбор стратегии на 2016 год.
      Читать дальше →
    • Статический анализ кода в PHP: регулярные выражения

        Продолжая развивать тему статического анализа, который в общем случае занимается поиском любых дефектов в исходных кодах программ, давайте коснёмся проверки правильности регулярных выражений.

        Тема регулярных выражений для PHP довольно щекотлива (примерно как манипулирование массивами), поэтому я вкратце напомню, с чем мы имеем дело.

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

        Итак, давайте посмотрим, на примере многим знакомых ZF2 и Symfony2, какие из упомянутых проблем можно найти с помощью статического анализа.
        Читать дальше →
      • Статический анализ PHP кода на примере Symfony2 (часть 2)

          Аннотация


          Второй части этой статьи не планировалось, но тема нашла отклик, так что можно продолжить.

          Итак, статический анализ кода в больших проектах необходим, и проекты на PHP — не исключение. По сути, проблемы и методология внедрения средств статического анализа будут те же, что и, скажем, в С++.

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

          О том, что можно найти и исправить с минимальным вложением времени (и максимальной отдачей) я расскажу под катом.
          Читать дальше →
        • Статический анализ PHP кода на примере Symfony2

          Аннотация


          О необходимости статического анализа в больших проектах уже писали не раз и, в основном, с фокусом на строго типизированные языки, например, здесь и здесь.

          С PHP дело обстоит сложнее: уже писали про статический анализ PHP кода, но в целом инструментарий тут гораздо беднее, и динамическая природа языка делает процесс разработки-тестирования сложнее. Для сравнения, в той же Java компиляция проекта сама по себе помогает найти ошибки, а в PHP типизация слабая, поэтому даже тесты могут пропустить ошибки.
          Читать дальше →