Dyrektywa use i względne ścieżki w OOP w PHP
Przy użyciu dyrektywy use można
wskazywać względne ścieżki.
Spójrzmy na przykład.
Załóżmy, że dołączamy pewną klasę:
<?php
namespace Core\Admin;
use \Core\Admin\Path\Router; // dołączamy klasę
class Controller extends Router
{
}
?>
Jak widzisz, początek przestrzeni nazw dołączanej klasy pokrywa się z bieżącą przestrzenią nazw. Oznacza to, że możemy tę część przy dołączaniu naszej klasy pominąć, usuwając przy tym początkowy ukośnik odwrotny:
<?php
namespace Core\Admin;
use Path\Router; // tworzymy względną ścieżkę
class Controller extends Router
{
}
?>
Uprość następujący kod wykorzystując
use:
<?php
namespace Core\Storage;
class Model
{
public function __construct()
{
$database = new \Core\Storage\DataBase;
}
}
?>