✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Композитор для WordPress, часть 2

9

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

В идеале вы всегда хотите видеть что-то подобное в своем терминале всякий раз, когда вы фиксируете свой код:

Но это не всегда так. Однако, как и в большинстве других вещей, чем больше вы будете практиковаться, тем больше вы привыкнете к написанию кода, который автоматически пропускает различные сниффы через различные правила (и их настройки).

Однако перед этим вы должны настроить GrumPHP в своем репозитории.

Composer для WordPress: анализ коммитов

Вчера я предоставил образец composer.json , поэтому сегодня мы рассмотрим пример файла конфигурации GrumPHP и посмотрим, что делает каждая его часть.

Важно отметить, что хотя кое-что из того, что вы увидите, не является нетипичным для проекта, вы можете точно настроить это так, как хотите, для каждого проекта, который вы используете. Иногда вы можете захотеть сделать его более сфокусированным, чем сейчас; в других случаях вы можете не заботиться о некоторых запахах, которые он предлагает.

Начальная конфигурация

Тем не менее, после установки GrumPHP будет создан почти пустой grumphp.ymlфайл, готовый к настройке. Например, вот что вы должны увидеть :

parameters: git_dir:. bin_dir: vendor/bin tasks:

Обратите внимание, что в нем нет ничего, кроме указания:

  • расположение репозитория,
  • расположение бинарных файлов, установленных через Composer,
  • задачи для запуска.

Обратите внимание, что я всегда использовал ‘.’ для расположения моего репозитория, потому что я никогда не устанавливал его в репозиторий, над которым работаю.

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

И, наконец, начальная tasksдиректива пуста, потому что на самом деле пока нечего запускать. Это то, на что я буду смотреть в следующем шаге.

Настройка GrumPHP

После того, как вы установили свои библиотеки и готовы немного настроить конфигурацию, возможно, вы можете сделать что-то вроде этого :

parameters: git_dir:. bin_dir: vendor/bin tasks: securitychecker: composer: jsonlint: xmllint: yamllint: phpstan: phplint: phpunit: phpcs: phpcpd: phpmnd: phpparser: visitors: no_exit_statements: ~ never_use_else: ~ forbidden_function_calls: blacklist: - "die" - "var_dump" - "exit" phpversion: project: '7.0' phpmd: ruleset: ['phpmd.xml.dist']

Я не буду обрисовывать в общих чертах все выше (потому что особо нечего обрисовывать), но все же есть несколько моментов, на которые стоит обратить внимание:

  • Обратите внимание, что список задач намного длиннее, чем тот, который был определен в исходном каталоге. Это нормально, и это означает, что мы хотим запускать эти инструменты, используя конфигурацию по умолчанию для каждого из этих инструментов.
  • Рядом с некоторыми правилами есть ~. Это зависит от рассматриваемой задачи, но обычно это означает, что мы хотим использовать конфигурацию по умолчанию.
  • Есть такие задачи, phpparserу которых есть подзадачи. Некоторые из них, как вы можете видеть выше, используют поведение по умолчанию. Другие предпочитают заносить в черный список такие термины, как die, var_dump, exitи другие. Это означает, что, как если бы директива была недостаточно ясной, мы вызовем сбой GrumPHP, если будет обнаружено какое-либо из этих утверждений.
  • Аналогично, взгляните на phpmd. Это указывает на набор правил, которые мы будем использовать при поиске различных ошибок в коде. В этом случае он указывает на dist файл, но может указывать на любой пользовательский набор правил, который вы определили.

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

Как и в случае с другими подобными проектами, я настоятельно рекомендую прочитать существующую документацию по различным задачам, которые интегрируются с GrumPHP.

Это Composer для WordPress?

Да и нет. Composer — менеджер пакетов общего назначения для PHP-проектов; однако, кажется, мы не видим этого в мире WordPress. Это не значит, что он не используется (он используется), но просто знать о Composer и о том, как его использовать, недостаточно.

Вместо этого я думаю, что важно знать, как использовать Composer для WordPress, чтобы мы могли писать код максимально возможного качества, при этом следя за тем, чтобы мы придерживались любых стандартов кодирования, которые мы также решили использовать. .

Источник записи: tommcfarlin.com

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее