⊗ppOpNsCU 101 of 107 menu

Il comando use e gli spazi dei nomi nella OOP in PHP

Supponiamo di avere la seguente classe Data:

<?php namespace \Core\Admin; class Data { public function __construct($num) { } } ?>

Supponiamo anche che ci sia una classe Page, che crea al suo interno oggetti della classe Data:

<?php namespace Users; class Page { public function __construct() { $data1 = new \Core\Admin\Data('1'); $data2 = new \Core\Admin\Data('2'); } } ?>

Come puoi vedere, entrambe le nostre classi si trovano in spazi dei nomi completamente diversi, quindi le chiamate alla classe Data non possono essere semplificate, in modo simile a come abbiamo fatto nella lezione precedente. Queste chiamate, tuttavia, sono molto lunghe e scomode, poiché in ogni chiamata alla classe Data bisogna specificare il suo lungo spazio dei nomi.

Per risolvere questo tipo di problema esiste un comando speciale use. Con questo comando è sufficiente includere la classe una volta per il suo nome completo, e dopo di che si potrà accedere a questa classe semplicemente per nome. Guarda l'esempio:

<?php namespace Users; use \Core\Admin\Data; // includiamo la classe class Page extends Controller { public function __construct() { $data1 = new Data('1'); // chiamiamo semplicemente per nome $data2 = new Data('2'); // chiamiamo semplicemente per nome } } ?>

Semplifica il seguente codice utilizzando use:

<?php namespace Project; class Test { public function __construct() { // Creiamo 3 oggetti di una stessa classe: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Date le seguenti classi:

<?php namespace Core\Admin; class Controller { } ?>
<?php namespace Users; class Page extends \Core\Admin\Controller { } ?>

Semplifica il codice di ereditarietà della classe, applicando il comando use.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta