⊗ppOpNsCA 104 of 107 menu

Klassenaam aliassen voor namespaces in OOP in PHP

Stel we hebben twee klassen Data, die tot verschillende namespaces behoren. Stel dat we in een bepaalde klasse objecten nodig hebben van beide klassen:

<?php namespace Project; class Test { public function __construct() { $data1 = new \Core\Users\Data; // maak een object $data2 = new \Core\Admin\Data; // maak een object } } ?>

Stel dat we besloten hebben de klasse-aanroepen te vereenvoudigen via het commando use. In dit geval wacht ons een probleem: beide klassen hebben de naam Data, wat betekent dat we een naamconflict zullen hebben:

<?php namespace Project; // Er zal een naamconflict zijn: use \Core\Users\Data; // verbind de eerste klasse use \Core\Admin\Data; // verbind de tweede klasse class Test { public function __construct() { $data1 = new Data; $data2 = new Data; } } ?>

Voor de oplossing van dit probleem bestaat er een speciaal commando as, dat het mogelijk maakt om de verbonden klasse een alias te geven - een naam, onder welke deze klasse beschikbaar zal zijn in dit bestand. Laten we de hernoeming van onze klassen Data uitvoeren:

<?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; } } ?>

Vereenvoudig de volgende code met gebruik van use:

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

Vereenvoudig de volgende code met gebruik van use:

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