Relative Pfade im Namensraum in OOP in PHP
Nehmen wir an, in der Datei index.php erfolgt
folgender Aufruf:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
Wie Sie bereits wissen, sollte beim Zugriff auf eine Klasse vor ihrem Namensraum ein umgekehrter Schrägstrich geschrieben werden. Eigentlich ist das nicht obligatorisch. Wenn dieser Schrägstrich nicht geschrieben wird, wird der aufgerufene Namensraum relativ zum aktuellen Namensraum berechnet. Sehen Sie sich das Beispiel an:
<?php
namespace Admin\Data;
new Core\Controller; // äquivalent zu \Admin\Data\Core\Controller
?>
Gegeben sind zwei Klassen:
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
Vereinfachen Sie den Code für die Vererbung der Klasse, unter Berücksichtigung dass die Namensräume unserer Klassen einen übereinstimmenden Teil haben.
Gegeben sind zwei Klassen:
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
So werden Objekte dieser Klassen in der
Datei index.php erstellt:
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
Vereinfachen Sie den Code für die Erstellung von Objekten, unter Berücksichtigung des Namensraums, in dem die Objekte unserer Klassen erstellt werden.