⊗ppOpNsRPt 100 of 107 menu

Căi relative în spațiul de nume în OOP în PHP

Să presupunem că în fișierul index.php are loc următorul apel:

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

După cum știți deja, atunci când accesați o clasă înaintea spațiului său de nume ar trebui să scrieți backslash. De fapt, acest lucru nu este obligatoriu. Dacă nu scrieți acest backslash, atunci spațiul de nume apelat va fi calculat relativ la spațiul de nume curent. Uitați-vă la exemplu:

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

Sunt date două clase:

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

Simplificați codul pentru moștenirea clasei, ținând cont de faptul că spațiile de nume ale claselor noastre au o parte care coincide.

Sunt date două clase:

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

Astfel se creează obiecte ale acestor clase în fișierul index.php:

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

Simplificați codul pentru crearea obiectelor, ținând cont de spațiul de nume în care se creează obiectele claselor noastre.

rouzenbyid