⊗ppOpNsSn 96 of 107 menu

PHP-də OOP-də Adlar Fəzasının Sintaksisi

Bir sinifə adlar fəzası təyin etmək üçün, həmin sinifin saxlandığı faylın birinci sətri kimi namespace əmrini yazmaq lazımdır, ondan sonra isə boşluqla - bu fəzanın adını.

Əgər sinif hansısa adlar fəzasına aiddirsə, onda sinif obyektini yaratmaq üçün yalnız sinfin adını deyil, həm də onun adlar fəzasını, tərs çəpi ilə ayrılmış şəkildə göstərmək lazımdır. Gəlin bir nümunəyə baxaq.

Tutaq ki, bizim heç bir adlar fəzasına aid olmayan Page sinfimiz var. Onda bu sinfin obyektini aşağıdakı kimi yaradarıq:

<?php $page = new Page; ?>

İndi tutaq ki, bu sinif Admin adlar fəzasına aiddir. Bu halda bu sinfin obyektini artıq aşağıdakı kimi yaradarıq:

<?php $page = new \Admin\Page; ?>

Gəlin yuxarıda təsvir olunan siniflərin toqquşmasının qarşısını almaq üçün, istifadəçilər üçün olan sinifləri və adminlər üçün olan sinifləri müxtəlif adlar fəzalarına ayıraq.

/admin/page.php faylındakı Page sinfi üçün Admin adlar fəzasını göstərək:

<?php namespace Admin; class Page { } ?>

/users/page.php faylındakı Page sinfi üçün isə Users adlar fəzasını göstərək:

<?php namespace Users; class Page { } ?>

Gəlin indi /index.php faylında hər iki Page sinfinin obyektini yaradaq:

<?php require_once '/admin/page.php'; require_once '/users/page.php'; $adminPage = new \Admin\Page; $usersPage = new \Users\Page; ?>

Tutaq ki, sizin core qovluğunuz və project qovluğunuz var. Hər bir qovluqda öz Controller sinfi var. Elə edin ki, bu siniflər müxtəlif adlar fəzalarına aid olsunlar. index.php faylında hər iki sinfin obyektlərini yaradın.

azbydeenesfrkakkptruuz