⊗ppOpNsCU 101 of 107 menu

Die use-Anweisung und Namensräume in OOP in PHP

Nehmen wir an, wir haben die folgende Klasse Data:

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

Nehmen wir weiter an, es gibt eine Klasse Page, die in ihrem Inneren Objekte der Klasse Data erstellt:

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

Wie Sie sehen, befinden sich beide unserer Klassen in völlig unterschiedlichen Namensräumen, daher können die Aufrufe der Klasse Data nicht vereinfacht werden, so wie wir es in der vorherigen Lektion getan haben. Diese Aufrufe sind jedoch sehr lang und unkomfortabel, da bei jedem Aufruf der Klasse Data ihr langer Namensraum angegeben werden muss.

Zur Lösung eines solchen Problems existiert die spezielle Anweisung use. Mit dieser Anweisung reicht es aus, die Klasse einmalig über ihren vollständigen Namen einzubinden, und danach kann auf diese Klasse einfach über den Klassennamen zugegriffen werden. Sehen Sie sich das Beispiel an:

<?php namespace Users; use \Core\Admin\Data; // binden die Klasse ein class Page extends Controller { public function __construct() { $data1 = new Data('1'); // rufen einfach über den Namen auf $data2 = new Data('2'); // rufen einfach über den Namen auf } } ?>

Vereinfachen Sie den folgenden Code mit Verwendung von use:

<?php namespace Project; class Test { public function __construct() { // Erstellen 3 Objekte einer Klasse: $data1 = new \Core\Users\Data('user1'); $data2 = new \Core\Users\Data('user3'); $data3 = new \Core\Users\Data('user3'); } } ?>

Gegeben sind die folgenden Klassen:

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

Vereinfachen Sie den Code der Klassenvererbung, indem Sie die Anweisung use anwenden.

uzlmsdakait