2.3 KiB
2.3 KiB
Konwencje Kodu
Data analizy: 2026-05-19
Reguły Projektowe
Źródło: CLAUDE.md.
- PHP powinien stosować PSR-12.
- Klasy: PascalCase.
- Metody: camelCase.
- Zmienne DB: snake_case.
- Unikać zagnieżdżeń powyżej 3 poziomów.
- Komentarze mają wyjaśniać "dlaczego", nie "co".
- Customizacje tylko w child theme albo dedykowanym pluginie, nigdy w core WordPress.
Aktualne Wzorce W Kodzie
WordPress/WooCommerce:
- Integracja przez
add_action,add_filter,register_activation_hook,register_deactivation_hook. - Escaping i sanitizacja przez funkcje WordPress:
esc_html,esc_attr,sanitize_text_field,wp_verify_nonce. - Ustawienia przez WordPress Settings API w
wp-content/plugins/ws-inpost-map/App/WSInpostSettings.php.
Custom plugin ws-inpost-map:
- Namespace:
WsInpostMapOnCheckout\App. - Autoloading PSR-4 w
wp-content/plugins/ws-inpost-map/composer.json. - Stałe pluginu:
WSIM_INPOST_MAP_PLUGIN_DIR_PATH,WSIM_INPOST_MAP_PLUGIN_DIR_URL. - Klasa shipping method
WSIM_InpostShippingMethodnie jest namespacowana, bo WooCommerce ładuje ją jako nazwę klasy metody wysyłki.
Odchylenia I Miejsca Do Uważania
wp-content/plugins/ws-inpost-map/App/WsInpostActions.phpużywa mieszanki wcięć 2 spacje i stylu odbiegającego od PSR-12.wp-content/plugins/ws-inpost-map/App/WSInpostSettings.phpjest duży względem reszty custom pluginu i łączy definicje pól, rendering admina, ustawienia oraz style dynamiczne.- Brak widocznego child theme w
wp-content/themes/; nie należy modyfikowaćwp-content/themes/betheme/bez wyraźnego powodu i planu aktualizacji. - Kod vendorowy w
wp-content/plugins/ma własne standardy; nie traktować go jako stylu dla nowych customizacji.
Zalecany Kierunek Dla Nowych Zmian
- Nowe customizacje sklepu dodawać w dedykowanym pluginie albo child theme.
- Dla zmian checkoutu najpierw sprawdzić kolizje z pluginami:
wp-content/plugins/flexible-checkout-fields/wp-content/plugins/woo-checkout-field-editor-pro/wp-content/plugins/woocommerce-checkout-manager/wp-content/plugins/ws-inpost-map/
- Sanitizować dane wejściowe na granicy requestu i escape'ować przy renderowaniu HTML.
- Nie zapisywać sekretów w dokumentacji PAUL.
Aktualizuj po ustaleniu automatycznego formatowania albo po wydzieleniu child theme/custom pluginu.