offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpNsReP 137 of 179 menu

Относительные пути в пространстве имен

Пусть в файле index.php происходит следующий вызов:

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

Как вы уже знаете, при обращении к классу перед его пространством имен следует писать обратный слеш. На самом деле это не обязательно. Если этот слеш не написать, то вызываемое пространство имен будет рассчитано относительно текущего пространства. Смотрите пример:

<?php namespace Admin\Data; new Core\Controller; // эквивалентно \Admin\Data\Core\Controller ?>

Даны два класса:

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

Упростите код для наследования класса, учитывая то, что пространства имен наших классов имеют совпадающую часть.

Даны два класса:

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

Вот так создаются объекты этих классов в файле index.php:

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

Упростите код для создания объектов, учитывая пространство имен, в котором создаются объекты наших классов.