Namespace Sintaks in OOP in PHP
Om 'n naamruimte vir 'n klas toe te ken, moet jy
die eerste reël van die lêer waarin hierdie
klas gestoor is, die opdrag namespace skryf,
en daarna met 'n spasie - die naam van daardie
naamruimte.
As 'n klas tot 'n naamruimte behoort, dan sal jy, om 'n objek van die klas te skep, nie net die klasnaam moet spesifiseer nie, maar ook die naamruimte daarvan, geskei deur 'n agteroorskuinsstreep. Kom ons kyk na 'n voorbeeld.
Laat ons sê ons het 'n klas Page wat nie tot
geen naamruimte behoort nie. Dan sal ons 'n objek
van hierdie klas so skep:
<?php
$page = new Page;
?>
Laat ons nou sê hierdie klas behoort aan die naamruimte
Admin. In hierdie geval sal ons 'n objek van hierdie
klas so skep:
<?php
$page = new \Admin\Page;
?>
Kom ons skei klasse vir gebruikers en klasse vir administrateurs in verskillende naamruimtes, om die bogenoemde klas konflikte te vermy.
Vir die klas Page uit die lêer /admin/page.php
specifiseer ons die naamruimte Admin:
<?php
namespace Admin;
class Page
{
}
?>
En vir die Page klas uit die lêer /users/page.php
specifiseer ons die naamruimte Users:
<?php
namespace Users;
class Page
{
}
?>
Kom ons skep nou in die lêer /index.php
'n objek van beide die
Page klasse:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
Laat ons sê jy het die gids core en die gids
project. In elk van die gidse is daar sy eie
klas Controller. Maak so dat
hierdie klasse aan verskillende naamruimtes
behoort. In die lêer index.php skep objekte
van beide die klasse.