⊗ppOpNsRPt 100 of 107 menu

Relativa sökvägar i namnområden i OOP i PHP

Låt oss säga att i filen index.php sker följande anrop:

<?php namespace Admin\Data; new \Core\Controller; ?>

Som du redan vet, när du refererar till en klass bör ett omvänt snedstreck skrivas före dess namnområde. Egentligen är detta inte nödvändigt. Om detta snedstreck inte skrivs, kommer det anropade namnområdet att beräknas relativt till det aktuella namnområdet. Se exemplet:

<?php namespace Admin\Data; new Core\Controller; // motsvarar \Admin\Data\Core\Controller ?>

Två klasser är givna:

<?php namespace Modules\Shop\Core; class Cart { } ?>
<?php namespace Modules\Shop; class UserCart extends \Modules\Shop\Core\Cart { } ?>

Förenkla koden för arv av klassen, med hänsyn till att namnområdena för våra klasser har en överlappande del.

Två klasser är givna:

<?php namespace Core\Data; class Controller { } ?>
<?php namespace Core\Data; class Model { } ?>

Så här skapas objekt av dessa klasser i filen index.php:

<?php namespace Core\Data; $controller = new \Core\Data\Controller; $model = new \Core\Data\Model; ?>

Förenkla koden för att skapa objekt, med hänsyn till namnområdet där objekt av våra klasser skapas.

esplsvidnl