Sintaksia ya Nafasi za Majina katika OOP kwenye PHP
Ili kuweka nafasi ya jina kwa darasa, inahitajika
mstari wa kwanza wa faili, ambayo darasa hilo
linahifadhiwa andika amri namespace,
na baada yake kupitia nafasi - jina la hiyo
nafasi.
Ikiwa darasa linahusiana na nafasi yoyote ya majina, basi kuunda kitu cha darasa itabidi onyesha sio tu jina la darasa, lakini pia nafasi yake ya majina, zikigawanywa kwa mshale wa nyuma. Tutaangalia kwa mfano.
Wacha tuwe na darasa Page, lisilohusiana
na nafasi yoyote ya majina. Wakati huo kitu
cha darasa hili tutaunda kama ifuatavyo:
<?php
$page = new Page;
?>
Wacha sasa darasa hili liwe la nafasi ya majina
Admin. Katika hali hii kitu cha darasa hiki
tutaunda kwa njia hii:
<?php
$page = new \Admin\Page;
?>
Wacha tutenganishe madarasa kwa watumiaji na madarasa kwa waadmini kwenye nafasi tofauti za majina, ili kuepuka migongano iliyoelezwa hapo juu ya madarasa.
Kwa darasa Page kutoka faili /admin/page.php
tuonyeshe nafasi ya majina Admin:
<?php
namespace Admin;
class Page
{
}
?>
Na kwa darasa Page kutoka faili /users/page.php
tuonyeshe nafasi ya majina Users:
<?php
namespace Users;
class Page
{
}
?>
Sasa tuunde kwenye faili /index.php
vitu vya darasa la kwanza na la pili
Page:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
Wacha uwe na folda core na folda
project. Katika kila folda kuna darasa lake
Controller. Fanya ili
madarasa haya yawe ya nafasi tofauti
za majina. Kwenye faili index.php unda vitu
vya darasa la kwanza na la pili.