Rutas relativas en espacios de nombres en POO en PHP
Supongamos que en el archivo index.php ocurre
la siguiente llamada:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
Como ya sabes, al acceder a una clase antes de su espacio de nombres se debe escribir una barra invertida. En realidad esto no es obligatorio. Si no se escribe esta barra, el espacio de nombres invocado se calculará relativamente al espacio de nombres actual. Mira el ejemplo:
<?php
namespace Admin\Data;
new Core\Controller; // equivalente a \Admin\Data\Core\Controller
?>
Se dan dos clases:
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
Simplifique el código para la herencia de clases, teniendo en cuenta que los espacios de nombres de nuestras clases tienen una parte coincidente.
Se dan dos clases:
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
Así se crean los objetos de estas clases en
el archivo index.php:
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
Simplifique el código para la creación de objetos, teniendo en cuenta el espacio de nombres en el que se crean los objetos de nuestras clases.