{"id":23344,"date":"2021-04-28T17:30:00","date_gmt":"2021-04-28T14:30:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23344"},"modified":"2021-10-18T02:25:07","modified_gmt":"2021-10-17T23:25:07","slug":"php_codesniffer-une-bibliotheque-pour-ameliorer-vos-normes-de-codage-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/php_codesniffer-une-bibliotheque-pour-ameliorer-vos-normes-de-codage-php\/","title":{"rendered":"PHP_CodeSniffer &#8211; Une biblioth\u00e8que pour am\u00e9liorer vos normes de codage PHP"},"content":{"rendered":"<p>Vous souhaitez am\u00e9liorer vos standards de codage PHP? \u00c9videmment oui. Peu importe que vous soyez un d\u00e9veloppeur PHP plus r\u00e9cent ou exp\u00e9riment\u00e9, tout le monde souhaite am\u00e9liorer ses normes de codage.<\/p>\n<p>Mais comment?<\/p>\n<p>Eh bien, il existe plusieurs ressources disponibles sur Internet que vous pouvez lire et commencer \u00e0 mettre en \u0153uvre.<\/p>\n<p>Il existe une autre solution qui ne n\u00e9cessite pas de lire sur le codage standard. Au lieu de cela, il vous donne des suggestions pour am\u00e9liorer votre environnement d&rsquo;ex\u00e9cution standard en examinant votre fichier PHP. De cette fa\u00e7on, c&rsquo;est mieux car vous obtiendrez une suggestion claire avec le num\u00e9ro de ligne.<\/p>\n<h3>Introduction \u00e0 PHP_CodeSniffer<\/h3>\n<p>Comme son nom l&rsquo;indique, <a href=\"https:\/\/github.com\/squizlabs\/PHP_CodeSniffer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP_CodeSniffer<\/a> sent le code dans vos fichiers ou dossiers. Partout o\u00f9 il sent le mauvais code qu&rsquo;il vous donne, signalez o\u00f9 se trouve le mauvais code et quelles mesures vous devez prendre pour le corriger. PHP_CodeSniffer agit comme votre v\u00e9rificateur de code PHP.<\/p>\n<p>C&rsquo;est une biblioth\u00e8que fortement recommand\u00e9e pour un programmeur PHP. Lorsque vous travaillez sur un projet PHP, vous ne devez pas livrer votre code au client final avant d&rsquo;avoir termin\u00e9 avec les normes de codage PHP sugg\u00e9r\u00e9es par PHP_CodeSniffer.<\/p>\n<p>Apr\u00e8s tout, le programmeur PHP devrait fournir un meilleur code et PHP_CodeSniffer vous aide pour un meilleur codage.<\/p>\n<h3>Installer PHP_CodeSniffer \u00e0 l&rsquo;aide de Composer<\/h3>\n<p><a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a> est un gestionnaire de d\u00e9pendances pour PHP. Il vous permet d&rsquo;installer\/mettre \u00e0 jour la biblioth\u00e8que dont vous avez besoin pour votre projet.<\/p>\n<p>Vous pouvez installer PHP_CodeSniffer dans le r\u00e9pertoire racine de votre projet. Mais, je vous recommande de cr\u00e9er un dossier &lsquo;php_codesniffer&rsquo; dans le r\u00e9pertoire racine et d&rsquo;installer la biblioth\u00e8que \u00e0 l&rsquo;int\u00e9rieur de ce dossier.<\/p>\n<p>Pour installer PHP_CodeSniffer \u00e0 l&rsquo;aide de composer, ouvrez l&rsquo;invite de commande dans le r\u00e9pertoire &lsquo;php_codesniffer&rsquo; et ex\u00e9cutez la commande ci-dessous.<\/p>\n<p><code>composer require \"squizlabs\/php_codesniffer=*\"<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Une biblioth\u00e8que pour am\u00e9liorer vos normes de codage PHP\" ><\/a><\/p>\n<h3>V\u00e9rifions nos normes de codage PHP<\/h3>\n<p>Ensuite, dirigez-vous vers le <code>php_codesniffer\/vendor\/bin<\/code>r\u00e9pertoire \u00e0 partir de l&rsquo;invite de commande. \u00c0 partir de ce dossier bin, nous v\u00e9rifierons nos normes de codage PHP par rapport \u00e0 PHP_CodeSniffer.<\/p>\n<p>Par exemple, supposons que nous ayons un fichier appel\u00e9 index.php dans votre projet. Mon fichier index.php contient le code ci-dessous.<\/p>\n<pre><code>&lt;?php\nrequire_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0));\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Ce code utilis\u00e9 pour <a href=\"https:\/\/themewp.inform.click\/fr\/redimensionner-l-image-en-php-a-l-aide-de-tinypng\/\" title=\"redimensionner l&#039;image en PHP \u00e0 l&#039;aide de la biblioth\u00e8que TinyPNG\">redimensionner l&rsquo;image en PHP \u00e0 l&rsquo;aide de la biblioth\u00e8que TinyPNG<\/a>. Notre code fonctionne bien et donne le r\u00e9sultat attendu. Mais, nous avons manqu\u00e9 certaines normes de codage dans notre fichier.<\/p>\n<p>Voyons quelle norme nous manque dans le fichier ci-dessus.<\/p>\n<p>Nous allons v\u00e9rifier ce fichier par rapport \u00e0 PHP_CodeSniffer en ex\u00e9cutant la commande ci-dessous.<\/p>\n<p><code>phpcs --standard=PEAR \/path\/to\/your\/file<\/code><\/p>\n<p>Nous travaillons sous Windows, donc dans notre cas, une commande serait la suivante.<\/p>\n<p><code>phpcs --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p>Ici, &lsquo;\u2013standard=PEAR&rsquo; signifie que notre fichier sera v\u00e9rifi\u00e9 par rapport \u00e0 la norme d\u00e9finie par <a href=\"https:\/\/pear.php.net\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PEAR<\/a>.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Une biblioth\u00e8que pour am\u00e9liorer vos normes de codage PHP\" ><\/a><\/p>\n<p>Apr\u00e8s avoir ex\u00e9cut\u00e9 la commande ci-dessus, nous avons eu quelques erreurs sur les normes de codage.<\/p>\n<h3>Corrigez le code en utilisant des directives<\/h3>\n<p>Prenons un exemple d&rsquo;erreur.<\/p>\n<p>Deuxi\u00e8me erreur indiquant que &quot;require_once&quot; est une instruction et non une fonction\u00a0: aucune parenth\u00e8se n&rsquo;est requise<\/p>\n<p>Par cette erreur, nous apprenons \u00e0 conna\u00eetre la norme pour inclure un fichier externe.<\/p>\n<p>Notre code ci-dessous<\/p>\n<pre><code>require_once (\"vendor\/autoload.php\");\nrequire_once (\"config.php\");<\/code><\/pre>\n<p>devrait remplacer par<\/p>\n<pre><code>require_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";<\/code><\/pre>\n<p>Ceci est un exemple de code de correction. Dans votre cas, vous pouvez trouver d&rsquo;autres erreurs. Vous devez le corriger en suivant les instructions que vous avez re\u00e7ues.<\/p>\n<p>La biblioth\u00e8que PHP_CodeSniffer fournit une commande qui corrige automatiquement les violations des normes de codage. N&rsquo;oubliez pas que cette commande ne corrige pas toutes les erreurs. Il s&rsquo;occupera de certaines erreurs mineures comme l&rsquo;indentation, les parenth\u00e8ses fermantes, etc.<\/p>\n<p>Si vous regardez la capture d&rsquo;\u00e9cran ci-dessus, vous remarquerez qu&rsquo;un total de 7 erreurs trouv\u00e9es dans notre fichier. Apr\u00e8s la liste des erreurs, voir la ligne<\/p>\n<p>&lsquo;PHPCBF&rsquo; PEUT CORRIGER AUTOMATIQUEMENT LES 6 VIOLATIONS DE SNIFF MARQU\u00c9ES<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Une biblioth\u00e8que pour am\u00e9liorer vos normes de codage PHP\" ><\/a><\/p>\n<p>Premi\u00e8re erreur li\u00e9e \u00e0 un commentaire de doc de fichier manquant, nous devons nous occuper de ce commentaire de doc. La commande &lsquo;PHPCBF&rsquo; ne le corrigera pas.<\/p>\n<p>Cela dit, \u00e9crivons la commande pour cela.<\/p>\n<p><code>phpcbf --standard=PEAR D:wampwwwapitinypngindex.php<\/code><\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Une biblioth\u00e8que pour am\u00e9liorer vos normes de codage PHP\" ><\/a><\/p>\n<p>Dans la capture d&rsquo;\u00e9cran, vous pouvez voir qu&rsquo;il a corrig\u00e9 6 erreurs et qu&rsquo;il en reste 1. L&rsquo;erreur restante est li\u00e9e au commentaire du fichier doc.<\/p>\n<p>Ainsi, nous ajouterons le commentaire de fichier et notre code final sera le suivant.<\/p>\n<pre><code>&lt;?php\n\/**\n\u00a0* This file will generate the resize version of an image\n\u00a0*\n\u00a0* PHP version 5.6.25\n\u00a0*\n\u00a0* @category Resize_Image\n\u00a0* @package\u00a0 TinyPNG\n\u00a0* @author\u00a0\u00a0 Sajid &lt;sajid@artisansweb.net&gt;\n\u00a0* @license\u00a0 http:\/\/www.php.net\/license\/3_01.txt\u00a0 PHP License 3.01\n\u00a0* @link\u00a0\u00a0\u00a0\u00a0 https:\/\/artisansweb.net\/resize-image-php-using-tinypng\n\u00a0*\/\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"config.php\";\n\u00a0\nTinifysetKey(TINIFY_KEY);\n\u00a0\n$source = TinifyfromFile(\"large.jpg\");\n$resized = $source-&gt;resize(\n\u00a0\u00a0\u00a0\u00a0array(\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"method\" =&gt; \"cover\",\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"width\" =&gt; 150,\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"height\" =&gt; 100\n\u00a0\u00a0\u00a0\u00a0)\n);\n$resized-&gt;toFile(\"thumbnail1.jpg\");\n\u00a0\necho \"Image resized.\";\n\u00a0\n$bool = true;\n?&gt;<\/code><\/pre>\n<p>Maintenant, si nous ex\u00e9cutons le script &lsquo;phpcs&rsquo;, nous n&rsquo;obtiendrons aucune erreur de normes de codage PHP.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20867-608234e3d8cc9.png\" alt=\"PHP_CodeSniffer - Une biblioth\u00e8que pour am\u00e9liorer vos normes de codage PHP\" ><\/a><\/p>\n<p><strong>Remarque\u00a0:<\/strong> PHP_CodeSniffer valide \u00e9galement vos fichiers JS et CSS.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Source d&rsquo;enregistrement:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vous voulez am\u00e9liorer vos standards de codage PHP ? PHP_CodeSniffer est une biblioth\u00e8que qui vous aide \u00e0 am\u00e9liorer les normes de codage. Dans cet article, nous \u00e9tudions<\/p>\n","protected":false},"author":1,"featured_media":21909,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[273],"tags":[844],"class_list":["post-23344","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-4","tag-affiai-fr"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/comments?post=23344"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23344\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/media?parent=23344"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=23344"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=23344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}