Библиотеки для плагинов WordPress, часть 1
Чем больше вы работаете с WordPress, особенно если вы используете такие инструменты, как Composer и тому подобное, тем чаще вы будете находить определенные библиотеки, инструменты и подобные вещи, которые составляют основу проектов, над которыми вы работаете.
Иногда вы можете найти их, просматривая код других людей, может быть, вы найдете их при просмотре GitHub, или, может быть, кто-то, с кем вы работаете, предложит библиотеку (или несколько) в зависимости от проекта.
Лично у меня был опыт всего вышеперечисленного, и чем больше я работаю над созданием решений для себя или других, тем больше я обнаруживаю, что устанавливаю один и тот же фундамент для каждого проекта (обычно это какой-то плагин) .
Библиотеки для плагинов WordPress
С этой целью я подумал, что, возможно, стоит поделиться библиотеками, которые я использую при создании плагинов WordPress. Контент будет распределен по нескольким постам, чтобы каждый из них был кратким и целенаправленным, но, возможно, вы найдете что-то, что вы раньше не использовали (или что улучшит ваше текущее использование).
PHPUnit
Любой, кто писал код на любом языке программирования, вероятно, знаком с любым типом библиотеки *Unit. Короче говоря, это способ легко писать модульные тесты.
PHPUnit — это фреймворк для тестирования PHP, ориентированный на программистов. Это экземпляр архитектуры xUnit для фреймворков модульного тестирования.
Я не тот, кто обязательно подписывается на 100% покрытие кода (и это тема для другого поста), но если вы собираетесь писать модульные тесты, то это де-факто библиотека для модульного тестирования вашего кода.
ГрумPHP
В течение этого года GrumPHP стал, пожалуй, моей любимой библиотекой (хотя она стала еще лучше благодаря дополнительным библиотекам, о которых я расскажу в этой серии статей).
Я говорил об этом в других сообщениях. Хотя он описывает себя как «инструмент качества кода», вы действительно не можете не видеть преимущества, пока не подключите его, чтобы посмотреть свой код, прежде чем пытаться зафиксировать его в репозитории.
Более длинное описание:
Если тесты не пройдены, вы не сможете зафиксировать свои изменения. Этот удобный инструмент не только улучшит вашу кодовую базу, но и научит ваших коллег писать более качественный код, следуя рекомендациям, которые вы определили в команде.
И точно так же, как если бы вы использовали какой -либо монитор стандартов кодирования в своей среде IDE, это одна из тех вещей, которые поначалу могут вызывать разочарование.
Но по мере того, как вы его изучаете, становится легче понять, что он будет помечать, поэтому вы автоматически начнете писать код более высокого уровня качества.
PHPMD
PHPMD (сокращение от PHP Mess Detector) хорошо работает в сочетании с GrumPHP, поскольку он может обрабатывать ваш код до того, как вы отправите его в репозиторий.
Проект описывает себя как:
Он берет заданную базу исходного кода PHP и ищет несколько потенциальных проблем в этом источнике.
Как и во многих подобных библиотеках, в этой конкретной можно настроить набор правил, чтобы вы могли легко включать и выключать вещи в зависимости от того, что предпочитаете вы или ваша команда.
PHP-парсер
Идея установки библиотеки синтаксического анализатора PHP для анализа вашего кода кажется немного мета, верно? Я имею в виду, что у вас есть исполняющая среда PHP, и многие IDE делают то же самое, но это работает немного по-другому.
Из репозитория:
Это парсер от PHP 5.2 до PHP 7.1, написанный на PHP. Его цель — упростить статический анализ кода и манипулирование им.
Для тех, кто знаком с тем, как работают языки программирования (и, следовательно, с грамматиками), идея статического анализа кода будет иметь смысл.
Несмотря на это, это еще одна библиотека, которая помогает улучшить качество кода за счет снижения его сложности.
Еще не все
В конце серии я расскажу, как включить все это в composer.jsonфайл, который вы сможете использовать в своем проекте.
Когда вы работаете над решением для клиента, вам, возможно, придется изменить версии каждого из этих инструментов, но вы обнаружите, что большинство из них предлагают поддержку начиная с PHP5.6 и до PHP7.1.
Поскольку я больше не оставляю комментарии на этом сайте (и для этого есть причины, о которых я расскажу позже), не стесняйтесь, пишите мне в Твиттере о некоторых из ваших любимых библиотек и о том, почему они вам нравятся.
Если ничего другого, я всегда в поисках большего.


