{"id":229960,"date":"2022-11-08T10:40:00","date_gmt":"2022-11-08T07:40:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=229960"},"modified":"2022-11-09T19:28:19","modified_gmt":"2022-11-09T16:28:19","slug":"utilizzo-dei-psr-rispetto-agli-standard-di-codifica-di-wordpress","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/it\/utilizzo-dei-psr-rispetto-agli-standard-di-codifica-di-wordpress\/","title":{"rendered":"Utilizzo dei PSR (rispetto agli standard di codifica di WordPress)"},"content":{"rendered":"\n<p>A questo punto, non so quanti articoli ho scritto sull&#8217;importanza degli <a href=\"https:\/\/github.com\/WordPress-Coding-Standards\/WordPress-Coding-Standards\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">standard di codifica di WordPress<\/a> (abbastanza per collegarli <a href=\"https:\/\/tommcfarlin.com\/psrs-wordpress-coding-standards\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a>, <a href=\"https:\/\/tommcfarlin.com\/following-the-wordpress-coding-standards\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a> e <a href=\"https:\/\/tommcfarlin.com\/wordpress-coding-standards-for-the-planet\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">qui<\/a>, immagino, che conta qualcosa).<\/p>\n<p>Ma dopo aver fatto abbastanza progetti per i clienti e <a href=\"https:\/\/twitter.com\/tobyschrapel\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">aver lavorato con sviluppatori<\/a> che sono molto pi\u00f9 intelligenti e familiari con gli strumenti avanzati di me, sono a un punto in cui sto decidendo di <a href=\"http:\/\/www.php-fig.org\/psr\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">iniziare a utilizzare<\/a> i PSR nello sviluppo di WordPress WordPress.<\/p>\n<p>Oh il dramma, giusto?<\/p>\n<p>Seriamente per\u00f2. Ci sono ragioni per questo, e ci sono momenti in cui penso che gli standard di codifica di WordPress dovrebbero essere ancora utilizzati, ma sto diventando rapidamente pi\u00f9 convinto che la costruzione di qualsiasi progetto moderno su WordPress dovrebbe utilizzare strumenti PHP pi\u00f9 moderni (che io &#8216; menzioner\u00f2 brevemente pi\u00f9 avanti).<\/p>\n<h2>Utilizzo dei PSR nello sviluppo di WordPress<\/h2>\n<p>Post come questo spesso introducono un dibattito o una risposta drammatica all&#8217;interno di WordPress che non \u00e8 il mio intento n\u00e9 \u00e8 qualcosa che penso sia nemmeno necessario. Ad essere onesto, conosco un buon numero <a href=\"https:\/\/twitter.com\/GaryJ\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">di<\/a> <a href=\"https:\/\/twitter.com\/tobyschrapel\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">altri<\/a> <a href=\"https:\/\/twitter.com\/rarst\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sviluppatori che l&#8217;<\/a> <a href=\"https:\/\/twitter.com\/twigpress\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">hanno<\/a> fatto molto tempo fa, ne hanno parlato, sono andati avanti e hanno continuato ad avere successo sia nei loro affari che nei loro progetti di hobby.<\/p>\n<p>Ma dato che ho parlato cos\u00ec tanto dell&#8217;uno contro l&#8217;altro, ho pensato che valesse la pena condividere la mia opinione sul motivo per cui sto optando per fare questo cambiamento ora e la logica dietro di esso.<\/p>\n<h3>1 Parit\u00e0 con la comunit\u00e0 PHP<\/h3>\n<p>Nell&#8217;ultimo anno o gi\u00f9 di l\u00ec, e solo negli ultimi mesi di quest&#8217;anno, mi sono abituato di pi\u00f9 a:<\/p>\n<ul>\n<li>amici sviluppatori pi\u00f9 esperti orientati a PHP che approvano strumenti che si aspettano che i PSR vengano adottati,<\/li>\n<li>l&#8217;uso di <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\/issues\/604\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">\/\/@codingStandardsIgnoreStart e \/\/@codingStandardsIgnoreEnd<\/a> nel mio codice,<\/li>\n<li>set di regole personalizzate per i miei progetti in base agli ambienti in cui sono distribuiti,<\/li>\n<li>e altro ancora.<\/li>\n<\/ul>\n<p>In definitiva, si tratta di voler mantenere la parit\u00e0 (o una parte di essa) con la pi\u00f9 ampia comunit\u00e0 PHP in generale, scrivendo anche codice leggibile e basato su standard su WordPress. E mi piacerebbe anche utilizzare altri strumenti e versioni pi\u00f9 recenti di strumenti esistenti (di cui parler\u00f2 pi\u00f9 avanti in questo post).<\/p>\n<h3>2 Problemi con gli ambienti moderni<\/h3>\n<p>Al momento della stesura di questo post, <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP CodeSniffer<\/a> (necessario per eseguire gli standard di codifica di WordPress) \u00e8 alla versione <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\/tree\/3.0.2\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">3.0.2<\/a>. Tuttavia, ci sono problemi di compatibilit\u00e0 con PHPCS e con gli standard di codifica di WordPress. <a href=\"https:\/\/github.com\/WordPress-Coding-Standards\/WordPress-Coding-Standards\/issues\/718\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Nello specifico<\/a> :<\/p>\n<blockquote>\n<p>La nuova versione di PHP CodeSniffer ha alcune caratteristiche interessanti, ma introduce modifiche sostanziali che significano che gli standard di codifica di WordPress non sono compatibili.<\/p>\n<\/blockquote>\n<p>Per essere chiari (ea causa della natura del software), \u00e8 questione di tempo prima che venga risolto. Ma se stai lavorando su una base di codice e stai usando Composer e gli standard di codifica di WordPress, dovrai impostare esplicitamente la versione di PHP CodeSniffer piuttosto che qualunque sia la versione pi\u00f9 recente attualmente.<\/p>\n<p>Inoltre, ho riscontrato problemi con i clienti in cui la mia mancata adozione dei PSR nello sviluppo di WordPress ha comportato comportamenti strani durante la distribuzione del codice. Forse si potrebbe sostenere che dovrebbero adeguare l&#8217;ambiente, ma se stanno lavorando per avere gli strumenti pi\u00f9 moderni a disposizione delle persone che li utilizzano, perch\u00e9 regredire?<\/p>\n<h3>3 Compatibilit\u00e0 con strumenti moderni<\/h3>\n<p>Infine, ci sono una serie di strumenti moderni che non sono stato in grado di utilizzare, per non parlare di imparare, a causa di ci\u00f2 che \u00e8 e ci\u00f2 che non \u00e8 supportato dalla natura del controllo delle versioni.<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166244-61e790be9cd6b.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/wordpress.mediadoma.com\/wp-content\/uploads\/2022\/01\/post-166244-61e790be9cd6b.png\" alt=\"Utilizzo dei PSR (rispetto agli standard di codifica di WordPress)\" ><\/a><\/p>\n<p>Ad esempio, <a href=\"https:\/\/pressware.co\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">stavamo<\/a> utilizzando <a href=\"https:\/\/github.com\/phpro\/grumphp\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">GrumPHP<\/a> in un progetto recente che supporta una variet\u00e0 di strumenti ma non siamo stati in grado di utilizzare, ad esempio, <a href=\"https:\/\/phpmd.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMD<\/a> a causa della mancanza di adozione dei PSR. Per quanto mi riguarda:<\/p>\n<ul>\n<li>Voglio migliorare continuamente le mie capacit\u00e0 di sviluppatore (e, in questo contesto, di sviluppatore PHP),<\/li>\n<li>la mancanza di supporto per strumenti pi\u00f9 moderni mi mette in uno schema di mantenimento che altrimenti non sperimenterei,<\/li>\n<li>Voglio continuare a lavorare con WordPress ma farlo con un flusso di lavoro pi\u00f9 moderno<\/li>\n<\/ul>\n<p>E in questo momento, non utilizzare i PSR sta creando un divario tra ci\u00f2 che sta facendo il resto della comunit\u00e0 PHP e ci\u00f2 che sta facendo WordPress. Quindi mi piacerebbe andare avanti continuando a lavorare su progetti in aggiunta al software che mi piace ancora usare.<\/p>\n<h2>Che dire degli standard di codifica di WordPress<\/h2>\n<p>Quindi cosa significa questo sugli standard di codifica di WordPress e sui post precedenti? Niente. Per come la vedo io: gli standard di codifica di WordPress dovrebbero essere utilizzati ogni volta che lavori su WordPress Core o qualcosa che sar\u00e0 strettamente integrato in esso.<\/p>\n<p>Ma se stai lavorando su qualcosa che si trova sopra WordPress o qualcosa che utilizza WordPress come base e puoi utilizzare i PSR nello sviluppo di WordPress insieme a strumenti che possono aiutare ad aumentare la qualit\u00e0 della base di codice che stai costruendo.<\/p>\n<p>Quindi, almeno per ora, questa \u00e8 la prospettiva che adotter\u00f2. Non vedo l&#8217;ora di vedere come andr\u00e0 a finire nei prossimi mesi. E, come per qualsiasi altra cosa che ho condiviso, condivider\u00f2 gli aspetti di fare questo passaggio.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/tommcfarlin.com\" class=\"external external_icon\">tommcfarlin.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dopo un numero sufficiente di progetti che lavorano con sviluppatori pi\u00f9 intelligenti, sono a un punto per iniziare a utilizzare i PSR nello sviluppo di WordPress.<\/p>\n","protected":false},"author":1,"featured_media":166245,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[720,844,865],"tags":[1168],"class_list":["post-229960","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sviluppatore","category-tutorial","category-wordpress-6","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/229960","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/comments?post=229960"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/posts\/229960\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media\/166245"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/media?parent=229960"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/categories?post=229960"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/it\/wp-json\/wp\/v2\/tags?post=229960"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}