Эта статья из среды ----Оригинальная ссылка; Добро пожаловать в нашу группу по изучению php&Laravel: 109256050
Не слишком ли самонадеянно это название? Верно! Несмотря на то, что я работаю с php в течение многих лет, я все еще не могу сформулировать лучшие практики и лучшие инструменты для работы, но я собираюсь начать пытаться это сделать.
Я вижу реальные изменения в том, как разработчики работают с php для разработки, не только язык явно становится более зрелым и надежным с новыми версиями и улучшениями, но и вся экосистема вокруг него меняется.
Разработчики выпустили множество новых инструментов, сторонних библиотек, фреймворков и статей, а также определили множество шаблонов проектирования, чтобы сделать код более элегантным и понятным. Некоторые люди ищут способы сделать работу (и вашу жизнь как разработчика) более эффективной, лаконичной и увлекательной.
Я не начинаю осваивать новые тенденции на ранней стадии, на самом деле, я применяю новые инструменты только тогда, когда уверен, что за ними стоит поддержка сообщества, и я действительно чувствую, что это улучшит мою работу. Что я часто делаю, так это стараюсь, чтобы мой код соответствовал лучшим практикам.
По этим причинам я провожу время, используя такие инструменты, как Composer и PHPUnit. Около года назад я открыл свое сердце всем этим блестящим новым вещам.
Сначала PSR, потом Composer, PHPUnit, Travis-ci и еще какие-то библиотеки и классные инструменты. Я даже начал использовать IDE (Vim FTW, PHPStrom, интегрированный с Xdebug, является обязательным условием для надежного процесса разработки)!
Что такое современный?
Интернет полон статей о том, насколько плох PHP, насколько плохой была бы ваша жизнь, если бы вам пришлось работать с кодом PHP, насколько уродлив этот язык и о чем еще вы только можете подумать!
Возможно, ваша жизнь не будет такой хорошей, если вы продолжите работать со старым унаследованным кодом, но если у вас будет возможность поработать над новым проектом и получить доступ ко всем новым инструментам, вы увидите новый PHP. м говорю о.
У меня каждый день возникает несколько вопросов о работе с PHP, но мы не можем закрывать глаза на изменения, происходящие в языке, сообществе и экосистеме. Впереди еще долгий путь, но область PHP созрела.
Я начал создавать SDK для внутреннего API для компании, в которой работаю, в качестве домашнего проекта и решил следовать лучшим практикам. Большинство из них я уже делаю, но я внес некоторые изменения в то, что я делаю. Эти изменения и то, что я узнал в прошлом году, являются предметом этой статьи, которую я называю современным PHP.
Я начал создавать SDK для внутреннего API для компании, в которой работаю, в качестве хобби и решил следовать лучшим практикам. Большинство из них я уже делаю, но я внес некоторые изменения в то, как я делаю некоторые вещи. Эти изменения и то, что я узнал в прошлом году, являются предметом этой статьи, которую я называю современным PHP.
Начнем рабочий процесс
Как я уже сказал, я новичок в этой IDE, phpStorm — очень, очень замечательная программа, и я влюбился в нее с первого взгляда. Это моя первая и единственная IDE. Я впервые пробую IDE, и мне даже не нужно пробовать какую-либо другую IDE.
Идеальное сочетание с XDebug, разрешение пространства имен PHP, интеграция с Composer, интеграция с GIT, автозаполнение, генерация кода, рефакторинг кода и многое другое.
Вам не обязательно использовать IDE, это личное предпочтение. Вы должны использовать любой инструмент, который соответствует вашим потребностям — Vim, Atom, Emacs, Bracket, NetBeans, phpStorm, Eclipse и т. д. Два основных момента здесь — производительность и эффективность. Ваша IDE/текстовый редактор должны помочь вам хотя бы в этих двух пунктах.
Для меня встроенный отладчик является важной функцией. Чтобы писать код для больших проектов (а на самом деле и для маленьких проектов тоже), вы должны использовать работающий отладчик. давай забудем техvar_dumpsа такжеprint_rs. Вам нужно вывести эти переменные во время выполнения, проанализировать трассировку стека и установить точки останова. Эти вещи необходимы и облегчают разработку и рефакторинг.
Я даже не знаю, есть ли другие варианты, в XDebug есть все, что вам нужно. У вас есть несколько минут? Если вы еще этого не сделали, найдите время, чтобы установить Xdebug и интегрировать его в свою IDE или текстовый редактор. Начните отлаживать свой код с помощью правильных инструментов.
GitHub — еще один инструмент, которому я хочу, чтобы вы уделили больше внимания. Здесь дело в интеграции.
Есть несколько инструментов, интегрированных с GitHub, вы должны начать их использовать. Эти инструменты могут генерировать метрики, запускать тесты, запускать задания для вас и выполнять различные действия в рабочем процессе в рамках процесса непрерывной интеграции. Интеграция — хороший повод начать использовать GitHub.
управление зависимостями
Еще одним аспектом современной экосистемы PHP является управление зависимостями, и Composer — это инструмент, который выполняет эту работу.
Composer 5 лет, но на мой взгляд большое количество фич переняли только в последние годы. Может быть, это потому, что я не являюсь первопроходцем, или потому, что разработчики PHP не хотят меняться.
Этот инструмент предоставляет внешний пакет Packagist, который представляет собой библиотеку пакетов PHP, состоящую из библиотек PHP, проектов и инструментов, исходный код которых хранится на GitHub (или в других подобных местах, таких как bitbucket).
Все библиотеки, которые я обсуждал в этой статье, или, может быть, один из ваших проектов, могут быть добавлены в ваш проект с помощью простого следующего метода.
$ composer require package_vendor/package_name
Если вы не знаете распространителя пакета, вы можете найти и установить соответствующий пакет, получив пакет
$ composer search package_nameComposer — отличный инструмент, если использовать его только для управления зависимостями, но он делает и много других вещей. Найдите минутку, чтобы установить Composer и прочитать его документацию.
Правильное использование интерфейса командной строки
В мире PHP у нас есть так называемый «интерактивный режим», к которому можно получить доступ через терминал, набрав:
$ php -a
Interactive mode enabled
php >
На этом этапе вы находитесь в интерактивном режиме, и вы можете начать что-то тестировать, и это работает, но инструмент настолько неинтуитивен, что я знаю, как работает IPython, поэтому я пытался много раз и, наконец, отказался от него.
К счастью, есть классный новый CLI (интерфейс командной строки), и он называется Psysh. psysh — это удивительный инструмент, полный интересных функций, который можно установить глобально или локально с помощью Composer.
Для меня лучшей особенностью psysh является встроенная документация. Очень удобно получить доступ к документации функции PHP, не заходя на php.net. Недостатком является то, что вам нужно будет выполнить дополнительную настройку, прежде чем он станет полностью функциональным.
После установки введите следующую команду (здесь я использую Debian, это может не сработать для всех), чтобы она заработала.
$ apt-get install php7.1-sqlite3
$ mkdir /usr/local/share/psysh
$ wget http://psysh.org/manual/en/php_manual.sqlite -o /usr/local/share/psysh/php_manual.sqlite
Первая команда необязательна, если вы уже установили Sqlite, вы можете пропустить этот шаг. Вторая команда создает каталог для сохранения документа, а третья команда загружает документ и сохраняет его в каталог, созданный на втором шаге.Обратите внимание, что все команды должны выполняться пользователем root.
Тогда вы можете сделать это:
Перейдите на веб-сайт Psysh, чтобы узнать больше об этом инструменте.