Relatív útvonalak névterekben OOP-ban PHP-ben
Tegyük fel, hogy a index.php fájlban
a következő hívás történik:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
Ahogy már tudod, egy osztály elérésekor a névtere elé fordított perjelet kell írni. Valójában ez nem kötelező. Ha nem írod ezt a perjelet, akkor a meghívott névtér az aktuális névtérhez képest lesz kiszámolva. Nézd a példát:
<?php
namespace Admin\Data;
new Core\Controller; // ekvivalens: \Admin\Data\Core\Controller
?>
Adott két osztály:
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
Egyszerűsítsd az osztály öröklésének kódját, figyelembe véve, hogy az osztályaink névterének van közös része.
Adott két osztály:
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
Ezeknek az osztályoknak az objektumai a
index.php fájlban a következőképpen jönnek létre:
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
Egyszerűsítsd az objektumok létrehozásának kódját, figyelembe véve azt a néteret, amelyben az osztályaink objektumai jönnek létre.