Руководство по улучшению стандартов кодирования WordPress
Если вы разработчик, то определенно хотите улучшить свои стандарты кодирования. Каждый язык программирования и их CMS / Frameworks установили свои собственные стандарты кодирования. В этой статье мы изучаем, как улучшить стандарты кодирования WordPress.
Мы написали статью об улучшении стандартов кодирования PHP. Вы должны сначала проверить эту статью, прежде чем переходить к стандартам кодирования для разработки WordPress.
Ошибки, которые мы делаем при программировании WordPress
У каждой разработки есть разные решения. Вероятно, каждый разработчик реализует разные способы / логику для получения одного и того же результата. Это естественно в мире программирования.
Например, предположим, что мы добавили одноразовый номер в нашу форму регистрации, чтобы избежать атак CSRF.
<form method="post">
<?php wp_nonce_field( 'signup_nonce', 'signup_form_nonce' ); ?>
</form>
При отправке формы мы должны проверить, является ли значение nonce правильным или нет. Обычно разработчик, не знакомый со стандартами кодирования, делает это следующим образом.
<?php
if (! isset( $_POST['signup_form_nonce']) ||! wp_verify_nonce( $_POST['signup_form_nonce'], 'signup_nonce')) {
print 'Sorry, your nonce did not verify.';
exit;
} else {
// process form data
}
?>
В приведенном выше коде нет ничего плохого. Но это не очень хорошая практика. При получении значений текстового поля мы должны использовать sanitize_text_field()
и wp_unslash()
функции для значений поля ввода.
sanitize_text_field выполняет следующий процесс в фоновом режиме.
- Проверяет наличие недопустимого UTF-8
- Преобразует одиночные символы <в сущность
- Удаляет все теги
- Удалите разрывы строк, табуляции и лишние пробелы
- Стрип октеты
Метод wp_unsplash удаляет косую черту из строки или массива строк.
Сказав это, наш предыдущий код должен выглядеть следующим образом.
<?php
if (! isset( $_POST['signup_form_nonce']) ||! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['signup_form_nonce']) ), 'signup_nonce')) {
print 'Sorry, your nonce did not verify.';
exit;
} else {
// process form data
}
?>
Это один из примеров. Есть еще несколько ошибок, которые мы делаем при программировании WordPress.
Установить библиотеку стандартов кодирования WordPress
Эта библиотека поможет нам улучшить наши стандарты кодирования при разработке WordPress и сделать нас лучшим разработчиком WordPress.
Чтобы установить эту библиотеку, откройте командную строку в корневом каталоге проекта и выполните следующую команду.
composer create-project wp-coding-standards/wpcs --no-dev
Примечание. Для выполнения указанной выше команды в вашей системе должен быть установлен композитор.
После выполнения команды она создаст папку с именем «wpcs» в корневом каталоге проекта.
Мы предполагаем, что вы прочитали нашу статью об улучшении стандартов кодирования PHP и установили библиотеку PHP_CodeSniffer в папку php_codesniffer в корневом каталоге проекта.
Далее нам нужно зарегистрировать стандарты WordPress в конфигурации PHP_CodeSniffer. Откройте командную строку в разделе «php_codesniffer / vendor / bin» и выполните команду ниже.
phpcs --config-set installed_paths /path/to/wpcs
Замените ‘/ path / to / wpcs’ своим путем. В нашем случае на платформе Windows мы пишем команду следующим образом.
phpcs --config-set installed_paths D:wampwwwwp1wpcs
Давайте выясним наши ошибки и улучшим стандарты кодирования WordPress
Мы установили с нашей библиотекой. Пришло время найти свои ошибки и избежать их в следующий раз.
Допустим, мы создали плагин test-plugin и нам нужно проверить файл с именем core.php.
Откройте командную строку в каталоге wpcs / vendor / bin и выполните следующую команду.
phpcs --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php
После выполнения команды вы увидите сообщения об ошибках и предупреждения. Все эти ошибки и предупреждения отображаются из-за того, что мы не следовали стандартным методам кодирования для разработки WordPress.
Хорошо то, что мы получаем подробный отчет о номерах строк и о том, как исправить эту конкретную ошибку. Нам просто нужно изучить рекомендации и исправить ошибки одну за другой.
phpcbf
команда также может исправить некоторые незначительные ошибки, такие как отступы, пробелы и т. д.
phpcbf --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php
Мы надеемся, что вы понимаете, как использовать библиотеку стандартов кодирования WordPress для улучшения стандартов кодирования WordPress. Если у вас есть вопросы или предложения, оставьте комментарий ниже.