{"id":23379,"date":"2021-04-29T18:55:00","date_gmt":"2021-04-29T15:55:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=23379"},"modified":"2021-10-18T03:22:00","modified_gmt":"2021-10-18T00:22:00","slug":"programmazione-php-avanzata-come-utilizzare-lo-spazio-dei-nomi-in-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/programmazione-php-avanzata-come-utilizzare-lo-spazio-dei-nomi-in-php\/","title":{"rendered":"Programmazione PHP avanzata &#8211; Come utilizzare lo spazio dei nomi in PHP"},"content":{"rendered":"<p>Per i principianti di PHP, gli spazi dei nomi dei concetti sembrano piuttosto complessi. Ma, una volta comprese le basi degli spazi dei nomi, \u00e8 facile da implementare. In questo articolo, studiamo come utilizzare lo spazio dei nomi in PHP.<\/p>\n<p>Come sviluppatore, avrai un&#8217;idea della programmazione PHP avanzata mentre utilizzi gli spazi dei nomi nel tuo codice.<\/p>\n<p>PHP ha introdotto gli spazi dei nomi per evitare conflitti di denominazione tra classi, funzioni e costanti.<\/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=\"Programmazione PHP avanzata - Come utilizzare lo spazio dei nomi in PHP\" ><\/a><\/p>\n<p>Quando lavoriamo su un progetto di grandi dimensioni, \u00e8 possibile che i programmatori diano gli stessi nomi a classi, funzioni o costanti. Ad esempio, se 2 programmatori definiscono la stessa classe A, PHP genera un errore fatale come non pu\u00f2 ridichiarare la classe A.<\/p>\n<h3>Definisci lo spazio dei nomi in PHP<\/h3>\n<p>Per capire quando dovremmo definire lo spazio dei nomi scriveremo qualche pezzo di codice.<\/p>\n<p>Diciamo che il nostro unico sviluppatore ha scritto un codice sotto in un file john.php. Questo codice \u00e8 solo un esempio per spiegare gli spazi dei nomi. Per semplicit\u00e0, scriviamo funzione, classe e costanti nello stesso file.<\/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>Abbiamo un altro sviluppatore che ha usato lo stesso nome per classe, funzioni e costanti ma per scopi diversi (output). Il suo nome file \u00e8 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>Ora, quando entrambi i file dello sviluppatore sono inclusi nel nostro progetto, otterremo l&#8217;errore fatale. Il motivo dell&#8217;errore \u00e8 che non possiamo usare lo stesso nome due volte per una classe o un metodo.<\/p>\n<p>Qui \u00e8 dove dovremmo definire lo spazio dei nomi.<\/p>\n<p>In entrambi i file PHP possiamo definire gli spazi dei nomi come di seguito.<\/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>E<\/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>Una volta, abbiamo aggiunto gli spazi dei nomi ai file di cui sopra, gli errori PHP spariranno.<\/p>\n<h3>Utilizzo degli spazi dei nomi<\/h3>\n<p>A questo punto, abbiamo finito con la definizione degli spazi dei nomi. Il prossimo passo \u00e8 come usare gli spazi dei nomi in PHP.<\/p>\n<p>Per utilizzare il metodo, la classe e le costanti di entrambi i programmatori dobbiamo scrivere un codice come segue.<\/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>Per accedere a classi o metodi dobbiamo aggiungere il nome dello spazio dei nomi prima di esso.<\/p>\n<p>Ci auguriamo che tu capisca come utilizzare lo spazio dei nomi in PHP. Se hai domande o suggerimenti, lascia un commento qui sotto.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi sapere come utilizzare lo spazio dei nomi in PHP? Gli spazi dei nomi vengono utilizzati per evitare conflitti di denominazione tra classi e metodi. In questo articolo, studiamo lo spazio dei nomi 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":[276],"tags":[846],"class_list":["post-23379","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=23379"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/23379\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21909"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=23379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=23379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=23379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}