⊗ppOpNsCA 104 of 107 menu

Alias de classes pour les espaces de noms en POO en PHP

Supposons que nous ayons deux classes Data, appartenant à des espaces de noms différents. Supposons que dans une classe, nous ayons besoin d'objets de ces deux classes :

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // créons un objet $data2 = new \Core\Admin\Data; // créons un objet } } ?>

Supposons que nous décidions de simplifier les appels de classes via la commande use. Dans ce cas, nous rencontrons un problème : les deux classes ont le nom Data, ce qui signifie que nous aurons un conflit de noms :

<?php namespace Project; // Il y aura un conflit de noms : use \Core\Users\Data; // connectons la première classe use \Core\Admin\Data; // connectons la deuxième classe class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Pour résoudre ce problème, il existe une commande spéciale as, permettant d'attribuer à la classe connectée un alias - un nom sous lequel cette classe sera accessible dans ce fichier. Effectuons le renommage de nos classes Data :

<?php namespace Project; use \Core\Users\Data as UsersData; use \Core\Admin\Data as AdminData; class Test { public function __construct() { $data1 = new UsersData; $data2 = new AdminData; } } ?>

Simplifiez le code suivant en utilisant use :

<?php namespace Project; class Test { public function __construct() { $pageController = new \Resource\Controller\Page; $pageModel = new \Resource\Model\Page; } } ?>

Simplifiez le code suivant en utilisant use :

<?php namespace Project\Data; class Test { public function __construct() { $pageController = new \Project\Data\Controller\Page; $pageModel = new \Project\Data\Model\Page; } } ?>
azbydeenesfrkakkptruuz