Relatīvie ceļi nosaukumu telpā OOP PHP
Lai failā index.php notiek
šāds izsaukums:
<?php
namespace Admin\Data;
new \Core\Controller;
?>
Kā jūs jau zināt, piekļūstot klasei pirms tās nosaukumu telpas vajadzētu rakstīt reverso slīpsvītru. Patiesībā tas nav obligāti. Ja šī slīpsvītra netiek rakstīta, tad izsauktā nosaukumu telpa tiks aprēķināta relatīvi pašreizējās nosaukumu telpas. Skatiet piemēru:
<?php
namespace Admin\Data;
new Core\Controller; // ekvivalents \Admin\Data\Core\Controller
?>
Dotas divas klases:
<?php
namespace Modules\Shop\Core;
class Cart
{
}
?>
<?php
namespace Modules\Shop;
class UserCart extends \Modules\Shop\Core\Cart
{
}
?>
Vienkāršojiet kodu klases mantošanai, ņemot vērā to, ka mūsu klašu nosaukumu telpām ir sakrītoša daļa.
Dotas divas klases:
<?php
namespace Core\Data;
class Controller
{
}
?>
<?php
namespace Core\Data;
class Model
{
}
?>
Tā tiek izveidoti šo klašu objekti
failā index.php:
<?php
namespace Core\Data;
$controller = new \Core\Data\Controller;
$model = new \Core\Data\Model;
?>
Vienkāršojiet kodu objektu izveidošanai, ņemot vērā nosaukumu telpu, kurā tiek izveidoti objekti mūsu klašu.