Пятничная помощь: 5 инструментов для начинающего PHP-разработчика



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

    Skillbox рекомендует: Онлайн-курс «Профессия веб-разработчик».
    Напоминаем: для всех читателей «Хабра» — скидка 10 000 рублей при записи на любой курс Skillbox по промокоду «Хабр».




    xDebug. Если вы по какой-то причине не используете дебаггер, пожалуйста, попробуйте изменить свое решение. Начать можно с xDebug — это один из лучших таких инструментов для PHP, print_r($VAR);exit(); просто уничтожитель времени. xDebug помогает справиться со всем этим, инструмент — просто палочка-выручалочка, которая незаменима в нашей работе.



    PHPStorm. Хороший IDE — просто must have для любого разработчика. Можно долго холиварить о том, что лучше, а что хуже, но вместо споров стоит просто попробовать PHPStorm. Он помогает с интеграцией и обеспечивает общее повышение производительности труда. Ну а если учитывать наличие активного сообщества, то выбор становится практически очевидным. И еще — здешняя библиотека плагинов просто огромна.

    xhprof & flame graphs. Если вам нужно понять, какой из участков кода приводит к замедлению работы программы, то xhprof и flame graphs — просто идеальные кандидаты на роль помощников. Да, официальная поддержка xhprof, возможно, и прекращена, но есть большое количество форков, которые продолжают жить. Flame graph — один из них.



    PHPUnit — идеальный инструмент тестировщика. Лучшего просто не найти. Больше сказать просто нечего.

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

    Собственно, на сегодня все: если у вас есть какие-то собственные рекомендации относительно инструментов для разработчика — отписывайтесь в комментариях, все скажут вам спасибо.

    Skillbox рекомендует:

    Skillbox
    146.52
    Онлайн-университет профессий будущего
    Share post

    Comments 27

      +3
      «5 инструментов для начинающего PHP-разработчика» я бы так назвал статью. Спасибо, но для меня статья неинформативна.
        +1
        Да, подкорректировали, спасибо
        –4
        Мы как-то на работе внедряли xDebug, хватило на пару недель побаловаться.
        Не зашёл никому из разработчиков.
          +3
          Видимо, по старинке die(var_dump(1));?
          Почему не зашел?
            +1
            var_dump возвращает void, нет смысла пихать его в die.
            Не совсем, во фреймворке который мы используем удобная система вывода ошибок.

            Да и нет ничего плохого в var_dump.

            Очень нежный в настройке, постоянно нужно включать его в PHP, а мы пережили уже как минимум 4 версии. Да и нужды в такой тонкой отладке практически не возникает. Просто все перестали им пользоваться и всё.
              0
              var_dump внутри die думаю ради однострочности и коротко. Часто использую именно этот вариант записи, когда нет возможности натравить xDebug
            –1
            Когда я от разработчика слышу, что он не пользуется xdebug (или альтернативы), то у меня возникают сомнения на счет его компетенции.
            Ощущения сравнимы с тем, когда видишь программиста печатающего двумя указательными пальцами.
              0
              А мне кажется если человек не может работать без дополнительных средств разработки то нужно сомневаться в его компетенции.
              Из ваших слов выходит что повстречайся вам сервер где нет xdebug, но требуется отладка у вас будет случаться ступор?

              И поверьте моя компетенция ни сколько не страдает от того что я не пользуюсь xdebug.
                0
                если человек не может работать без дополнительных средств разработки
                IDE тоже ненужна?

                повстречайся вам сервер где нет xdebug,
                Обычно на серверах его и нету, а отлаживать на серверах такая себе компетенция.
                  0
                  IDE тоже ненужна?
                  Кидаетесь в крайности.

                  отлаживать на серверах такая себе компетенция.
                  У нас всегда три этапа серверов: разработки, промежуточный и лайв.
                  Не знаю как у вас, но мы не работаем локально. Всегда на серверах.
                    0
                    Не знаю как у вас, но мы не работаем локально. Всегда на серверах.


                    В нынешнее время по-дефолту всё крутят в контейнерах, т.к. заливать всё на сервер, просто чтобы проверить что-то — это так себе удовольствие. Просто ужасно. Особенно когда ещё rsync подвисает (у меня лет 10 назад такой опыт был).
                      0
                      Да что вам всё нужно разжёвывать как маленьким то?!
                      Контейнеры на сервере, работает мы там.
                      Может хватит цепляться к каждому слову, честное слово уже не смешно!
                        0
                        Да что вам всё нужно разжёвывать как маленьким то?!


                        Ну уж соблаговолите, достопочтенный сударь, снизойти до объяснений ваших слов. Где написано, цитата: «Не знаю как у вас, но мы не работаем локально. Всегда на серверах.». Что означает, что локально поднять докер/вагрант — это не для вас, а работаете только через rsync/lsync, ssh или ftp. Ну или через samba или webdav хард подмонтирован. Вариантов огромная масса.

                        Контейнеры на сервере, работает мы там.


                        Ну вот. А обычно контейнер крутится локально и разработчики так же работают все локально. И БД тоже локальная, а не на сервере.

                        Может хватит цепляться к каждому слову, честное слово уже не смешно!


                        Тыкните пальцем в то место, которое я передёрнул или «зацепился». Меня удивляет просто способ работы напрямую с сервером, который наверняка доставляет трудностей. Отсюда и интересен опыт, вида: «На кой хрен так было сделано».
                          0
                          Меня удивляет просто способ работы напрямую с сервером, который наверняка доставляет трудностей.
                          Ни разу ни у кого трудностей не возникло. Не знаю что вас так удивило.
                          За 15 лет попробовал всё, и ftp, и ssh и даже вэб интерфейс, и виртуальные машины, и контейнеры, ну ни разу проблем ни с одной технологией не возникало. Хотя нет, один раз интернет отпал на пол часа, но мы тогда тупо обедать пошли.

                          Может вам просто не повезло с системным администратором?
                            0
                            Может вам просто не повезло с системным администратором?


                            Да не с сисадмином дело. Всё же нажать Ctrl+S на порядки проще по-моему, а потом F5 в IDE тыкнуть для запуска тестов или какого-нибудь тестового скриптика.

                            Да и опять же, как дифы гитовые делать нормально?

                            Или если надо создать изолированный компонент, который потом войдёт внутрь проекта, подключаемый через composer repositories секцию.

                            Ну или если надо vld поставить или spx для профилировки? Это что, руками получается? А если во время установки отладочных компонентов он уронится?
            +9

            Двоякое ощущение. Вроде как и действительно какая-то подборка инструментов. Но очевидно, что при написании этого поста никаких консультаций с разработчиками произведено не было. Давайте разберём по пунктам:
            1) О перечисленных вещах не слышал только ленивый, так что это опустим.


            xDebug.

            Почему не Zend Debugger? Почему не phpdbg? А где сравнительное описание инструментов? А вы ведь знаете, что phpdbg умеет показывать опкоды, а Zend будет побыстрее, а работает поверх того же DBGP?


            PHPUnit — идеальный инструмент тестировщика. Лучшего просто не найти.

            Т.е. вот этой фразой зарезали сразу всё интеграционное, мутационное и прочее тестирование. Чем PHPUnit лучше Infection или Аtoum? А почему он лучше Codeception? А чем удобнее Gherkin или Behat? А может взглянем на PHPSpec? Как на счёт Peridot? Ой, забыли про Selenium?


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

            А где информация о phpstan? Phan? Psalm? Ну или что-то вроде Scrutinizer или StyleCI? А почему перечислили PHPCS, но не написано ничего про PHPCBF?


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

              0
              Статья в принципе в стиле «всегда смотрите в исходный код страницы», на том уровне Scrutinizer будет бензопилой вместо ножика
              +4

              JFYI, на Реддите подобные статьи постят по 2-3 раза в день, индусские аутсорсеры таким образом продвигают свои услуги. "5 причин использовать Ларавель", "Почему РНР такой популярный" и пр. Внутри ничего нового или полезного, сплошная банальщина и протухшие новости. Это называется словом "блогспам" и весьма негативно воспринимается как аудиторией, так и модераторами.

                +3
                Ну если вдуматься — тут ровно такой же случай. Продвигают свою компанию (и некие услуги).
                +3
                skillbox что вы публикуете?
                Где информация как это где это применять? Выше SerafimArts больше информации дал одним своим комментарием нежели вы целым постом!
                  +1
                  Хороший IDE

                  IDE — интегрированная среда разработки. IDE хорошая, а не хороший.


                  И еще — здешняя библиотека плагинов просто огромна

                  Почему не тутошняя? А если серьёзно, почему хотя бы не "его (PHPStorm'а) библиотека плагинов просто огромна"?

                    +2

                    Сколько же трешнины в /hub/php в последнее время.

                      0

                      Черт вощьми, как де я с вами согласен!!!

                      +2
                      Начинающий разработчик купит PHPStorm… ну ну
                        0
                        Ну справедливости ради есть EAP, правда только на мажорные релизы.
                        Правда $90 за первый год для начинающего php-разраба не такая уж и высокая цена, имхо. Тем более 2, 3 и последующие года идут со скидкой.
                          +1
                          Есть EAP. Но в статье о нем ни слова. Так же как и про бесплатные IDE для PHP.
                          0
                          PHPStorm — великолепная IDE, не спорю. Куча полезностей. И лицензия стоит резонных денег. Но когда запускаешь ее на ноуте с i7 и с 8 гигами оперативки и слышишь звук вентилятора, готового взлететь, желание пользоваться ею отпадает напрочь :)

                        Only users with full accounts can post comments. Log in, please.