Przewodnik po tym, jak ulepszyć standardy kodowania WordPress
Jeśli jesteś programistą, to zdecydowanie szukasz poprawy swoich standardów kodowania. Każdy język programowania i jego CMS/Frameworks ustanowiły własne standardy kodowania. W tym artykule dowiemy się, jak poprawić standardy kodowania WordPress.
Napisaliśmy artykuł na temat ulepszania standardów kodowania PHP. Powinieneś najpierw zapoznać się z tym artykułem, zanim przejdziesz do standardów kodowania dla rozwoju WordPressa.
Błędy, które popełniamy podczas programowania WordPress
Każda praca rozwojowa ma inne rozwiązania. Prawdopodobnie każdy programista implementuje inny sposób/logikę, aby dać ten sam wynik. To naturalne w świecie programowania.
Załóżmy na przykład, że dodaliśmy jednorazową wartość w naszym formularzu rejestracyjnym, aby uniknąć ataków CSRF.
<form method="post">
<?php wp_nonce_field( 'signup_nonce', 'signup_form_nonce' ); ?>
</form>
Przesyłając formularz musimy sprawdzić, czy żaden nie jest poprawny, czy nie. Zwykle programista, który nie zna standardów kodowania, robi to w następujący sposób.
<?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
}
?>
W powyższym kodzie nie ma nic złego. Ale to nie jest dobra praktyka. Podczas pobierania wartości pól tekstowych powinniśmy używać sanitize_text_field()
i wp_unslash()
funkcji na wartościach pól wejściowych.
Metoda sanitize_text_field wykonuje w tle następujący proces.
- Sprawdza nieprawidłowy kod UTF-8
- Konwertuje pojedyncze < znaków na encję
- Zdziera wszystkie tagi
- Usuń podziały wierszy, tabulatory i dodatkowe spacje
- Oktety paskowe
metoda wp_unsplash usuwa ukośniki z ciągu lub tablicy ciągów.
Powiedziawszy to, nasz poprzedni kod powinien wyglądać jak poniżej.
<?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
}
?>
To jest jeden przykład. Istnieje kilka innych błędów, które popełniamy w naszym programowaniu WordPress.
Zainstaluj bibliotekę standardów kodowania WordPress
Ta biblioteka pomoże nam ulepszyć nasze standardy kodowania w programowaniu WordPress i sprawić, że staniemy się lepszym programistą WordPress.
Aby zainstalować tę bibliotekę, otwórz wiersz poleceń w katalogu głównym projektu i uruchom poniższe polecenie.
composer create-project wp-coding-standards/wpcs --no-dev
Uwaga: Aby uruchomić powyższą komendę, w systemie powinien być zainstalowany kompozytor.
Po uruchomieniu polecenia utworzy folder o nazwie „wpcs" w katalogu głównym projektu.
Zakładamy, że przeczytałeś nasz artykuł o ulepszaniu standardów kodowania PHP i zainstalowałeś bibliotekę PHP_CodeSniffer w folderze ‘php_codesniffer’ w katalogu głównym projektu.
Następnie musimy zarejestrować standardy WordPress w konfiguracji PHP_CodeSniffer. Otwórz wiersz polecenia w „php_codesniffer/vendor/bin” i uruchom poniższe polecenie.
phpcs --config-set installed_paths /path/to/wpcs
Zastąp ‘/ścieżka/do/wpcs’ swoją ścieżką. W naszym przypadku na platformie Windows polecenie piszemy w następujący sposób.
phpcs --config-set installed_paths D:wampwwwwp1wpcs
Dowiedzmy się o naszych błędach i poprawmy standardy kodowania WordPress
Ustawiliśmy się z naszą biblioteką. Teraz nadszedł czas, aby znaleźć nasze błędy i uniknąć ich następnym razem.
Załóżmy, że stworzyliśmy wtyczkę „test-plugin” i musimy zweryfikować plik o nazwie „core.php”.
Otwórz wiersz polecenia w katalogu „wpcs/vendor/bin” i uruchom poniższe polecenie.
phpcs --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php
Po uruchomieniu polecenia pojawi się monit z błędami i ostrzeżeniami. Wszystkie te błędy i ostrzeżenia pojawiają się, ponieważ nie przestrzegaliśmy standardowych praktyk kodowania dla rozwoju WordPressa.
Dobrą częścią jest to, że otrzymujemy szczegółowy raport o numerach linii i sposobie poprawienia tego konkretnego błędu. Wystarczy spojrzeć na wytyczne i poprawić błędy jeden po drugim.
phpcbf
polecenie może również poprawić niektóre drobne błędy, takie jak wcięcia, spacje itp.
phpcbf --standard=WordPress D:wampwwwwp1wp-contentpluginstest-plugincore.php
Mamy nadzieję, że rozumiesz, jak korzystać z biblioteki standardów kodowania WordPress, aby poprawić standardy kodowania WordPress. Jeśli masz jakieś pytania lub sugestie, zostaw komentarz poniżej.