{"id":23376,"date":"2021-04-29T19:15:00","date_gmt":"2021-04-29T16:15:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23376"},"modified":"2021-10-18T02:24:47","modified_gmt":"2021-10-17T23:24:47","slug":"programmation-php-avancee-comment-utiliser-l-espace-de-noms-en-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fr\/programmation-php-avancee-comment-utiliser-l-espace-de-noms-en-php\/","title":{"rendered":"Programmation PHP avanc\u00e9e &#8211; Comment utiliser l&rsquo;espace de noms en PHP"},"content":{"rendered":"<p>Pour un d\u00e9butant en PHP, le concept d&rsquo;espaces de noms semble assez complexe. Mais, une fois que nous comprenons les bases des espaces de noms, il est facile \u00e0 mettre en \u0153uvre. Dans cet article, nous \u00e9tudions comment utiliser l&rsquo;espace de noms en PHP.<\/p>\n<p>En tant que d\u00e9veloppeur, vous aurez une id\u00e9e de la programmation PHP avanc\u00e9e tout en utilisant les espaces de noms dans votre code.<\/p>\n<p>PHP a introduit des espaces de noms pour \u00e9viter les conflits de noms entre les classes, les fonctions et les constantes.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20856-6082335e78ff5.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-20856-6082335e78ff5.png\" alt=\"Programmation PHP avanc\u00e9e - Comment utiliser l&#039;espace de noms en PHP\" ><\/a><\/p>\n<p>Lorsque nous travaillons sur un grand projet, il peut arriver que les programmeurs donnent les m\u00eames noms \u00e0 des classes, des fonctions ou des constantes. Par exemple, si 2 programmeurs d\u00e9finissent la m\u00eame classe A, PHP renvoie une erreur fatale comme ne peut pas red\u00e9clarer la classe A.<\/p>\n<h3>D\u00e9finir l&rsquo;espace de noms en PHP<\/h3>\n<p>Pour comprendre quand nous devons d\u00e9finir l&rsquo;espace de noms, nous allons \u00e9crire un morceau de code.<\/p>\n<p>Disons que notre d\u00e9veloppeur a \u00e9crit un code ci-dessous dans un fichier john.php. Ce code est juste un exemple pour expliquer les espaces de noms. Pour plus de simplicit\u00e9, nous \u00e9crivons fonction, classe et constantes dans le m\u00eame fichier.<\/p>\n<pre><code>function my_name() {\n\u00a0\u00a0\u00a0\u00a0echo \"John\";\n}\n\u00a0\nclass Programming {\n\u00a0\u00a0\u00a0\u00a0function my_language() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"PHP\";\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nconst MYCONST = 1;<\/code><\/pre>\n<p>Nous avons un autre d\u00e9veloppeur qui a \u00e9galement utilis\u00e9 le m\u00eame nom pour la classe, les fonctions et les constantes mais \u00e0 des fins diff\u00e9rentes (sorties). Son nom de fichier est sam.php.<\/p>\n<pre><code>function my_name() {\n\u00a0\u00a0\u00a0\u00a0echo \"Sam\";\n}\n\u00a0\nclass Programming {\n\u00a0\u00a0\u00a0\u00a0function my_language() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Python\";\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nconst MYCONST = 2;<\/code><\/pre>\n<p>Maintenant, lorsque les fichiers des deux d\u00e9veloppeurs sont inclus dans notre projet, nous obtiendrons l&rsquo;erreur fatale. La raison de l&rsquo;erreur est que nous ne pouvons pas utiliser le m\u00eame nom deux fois pour une classe ou une m\u00e9thode.<\/p>\n<p>C&rsquo;est ici que nous devons d\u00e9finir l&rsquo;espace de noms.<\/p>\n<p>Dans les deux fichiers PHP, nous pouvons d\u00e9finir des espaces de noms comme ci-dessous.<\/p>\n<pre><code>&lt;?php\nnamespace John;\n\u00a0\nfunction my_name() {\n\u00a0\u00a0\u00a0\u00a0echo \"John\";\n}\n\u00a0\nclass Programming {\n\u00a0\u00a0\u00a0\u00a0function my_language() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"PHP\";\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nconst MYCONST = 1;\n?&gt;<\/code><\/pre>\n<p>Et<\/p>\n<pre><code>&lt;?php\nnamespace Sam;\n\u00a0\nfunction my_name() {\n\u00a0\u00a0\u00a0\u00a0echo \"Sam\";\n}\n\u00a0\nclass Programming {\n\u00a0\u00a0\u00a0\u00a0function my_language() {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo \"Python\";\n\u00a0\u00a0\u00a0\u00a0}\n}\n\u00a0\nconst MYCONST = 2;\n?&gt;<\/code><\/pre>\n<p>Une fois que nous avons ajout\u00e9 des espaces de noms aux fichiers ci-dessus, les erreurs PHP auront disparu.<\/p>\n<h3>Utilisation des espaces de noms<\/h3>\n<p>\u00c0 ce stade, nous en avons termin\u00e9 avec la d\u00e9finition des espaces de noms. La prochaine \u00e9tape est de savoir comment utiliser les espaces de noms en PHP.<\/p>\n<p>Pour utiliser la m\u00e9thode, la classe et les constantes des deux programmeurs, nous devons \u00e9crire un code comme suit.<\/p>\n<pre><code>&lt;?php\nrequire_once('john.php');\nrequire_once('sam.php');\n\u00a0\nSammy_name();\u00a0 \/\/output \"Sam\"\nJohnmy_name(); \/\/output \"John\"\n\u00a0\n$a = new SamProgramming();\n$a-&gt;my_language();\u00a0\u00a0 \/\/output \"Python\"\n\u00a0\n$b = new JohnProgramming();\n$b-&gt;my_language();\u00a0\u00a0 \/\/output \"John\"\n\u00a0\n\u00a0\necho JohnMYCONST;\u00a0 \/\/output \"1\"\necho SamMYCONST;\u00a0\u00a0 \/\/output \"2\"\n?&gt;<\/code><\/pre>\n<p>Pour acc\u00e9der \u00e0 la classe ou aux m\u00e9thodes, nous devons ajouter le nom de l&rsquo;espace de noms avant celui-ci.<\/p>\n<p>Nous esp\u00e9rons que vous comprenez comment utiliser l&rsquo;espace de noms en PHP. Si vous avez des questions ou des suggestions, veuillez laisser un commentaire ci-dessous.<\/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 savoir comment utiliser l&rsquo;espace de noms en PHP ? Les espaces de noms sont utilis\u00e9s pour \u00e9viter les conflits de noms entre les classes et les m\u00e9thodes. Dans cet article, nous \u00e9tudions l&rsquo;espace de noms PHP<\/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-23376","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\/23376","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=23376"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/posts\/23376\/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=23376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/categories?post=23376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fr\/wp-json\/wp\/v2\/tags?post=23376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}