Nimeruumide süntaks OOP-s PHP-s
Klassi nimeruumi määramiseks tuleb
faili, milles see klass asub, esimesele
reale kirjutada käsk namespace,
ja pärast seda tühikuga - selle nimeruumi
nimi.
Kui klass kuulub mingisse nimeruumi, siis klassi objekti loomiseks tuleb vaja määrata mitte ainult klassi nimi, vaid ka selle nimeruumi nimi, eraldatud vastupidise kaldkriipsuga. Vaatame näidet.
Olgu meil klass Page, mis ei kuulu
ühtegi nimeruumi. Siis loome selle klassi
objekti järgmiselt:
<?php
$page = new Page;
?>
Olgu nüüd see klass nimeruumi
Admin kuuluv. Sel juhul loome selle klassi
objekti juba sellisel viisil:
<?php
$page = new \Admin\Page;
?>
Jaotame kasutajate klassid ja admini klassid erinevatesse nimeruumidesse, et vältida eelpool kirjeldatud klasside konflikte.
Klassi Page jaoks failist /admin/page.php
määrame nimeruumi Admin:
<?php
namespace Admin;
class Page
{
}
?>
Ja klassi Page jaoks failist /users/page.php
määrame nimeruumi Users:
<?php
namespace Users;
class Page
{
}
?>
Loome nüüd failis /index.php
ühe ja teise klassi Page
objekti:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
Olgu teil kaust core ja kaust
project. Igas kaustas on oma
klass Controller. Tehke nii, et
need klassid kuuluksid erinevatesse nimeruumidesse.
Failis index.php looge ühe ja teise klassi
objektid.