Täpsem PHP programmeerimine – kuidas kasutada PHP-s nimeruumi
PHP algajate jaoks tunduvad mõiste nimeruumid üsna keerukad. Aga kui me mõistame põhitõdesid nimeruume on lihtne rakendada. Selles artiklis uurime, kuidas kasutada PHP-s nimeruumi.
Kuna arendaja, siis tekib tunne arenenud PHP programmeerimine kasutamise ajal nimeruume oma koodi.
PHP tutvustas nimeruume, et vältida klasside, funktsioonide ja konstandide vaheliste konfliktide nimetamist.
Kui töötame suure projektiga, võib programmeerijatel olla võimalus anda klassidele, funktsioonidele või konstantidele samad nimed. Näiteks kui 2 programmeerijat määravad sama klassi A, siis PHP loob saatusliku vea, nagu ei saa klassi A uuesti deklareerida.
Määrake PHP-s nimeruum
Et mõista, millal peaksime nimeruumi määratlema, kirjutame mõne koodiosa.
Oletame, et meie üks arendaja on kirjutanud allpool oleva koodi john.php-faili. See kood on vaid näide nimeruumide selgitamiseks. Lihtsuse huvides kirjutame funktsiooni, klassi ja konstandid samasse faili.
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
Saime teise arendaja, kes kasutas sama nime ka klasside, funktsioonide ja konstantide jaoks, kuid erinevatel eesmärkidel (väljundid). Tema failinimi on sam.php.
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
Nüüd, kui mõlemad meie projekti kuuluvad arendaja failid, saame saatusliku vea. Vea põhjus on see, et me ei saa klassi või meetodi jaoks sama nime kaks korda kasutada.
Siin peaksime määrama nimeruumi.
Mõlemas PHP-failis saame määratleda nimeruumid nagu allpool.
<?php
namespace John;
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
?>
Ja
<?php
namespace Sam;
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
?>
Kui oleme ülaltoodud failidele lisanud nimeruumid, pole PHP-tõrkeid enam.
Nimeruumide kasutamine
Selles etapis oleme määratletud nimeruumidega valmis. Järgmine samm on PHP-s nimeruumide kasutamine.
Et kasutada meetodit, klassi ja konstante nii programmeerijad peame kirjutada koodi järgmiselt.
<?php
require_once('john.php');
require_once('sam.php');
Sammy_name(); //output "Sam"
Johnmy_name(); //output "John"
$a = new SamProgramming();
$a->my_language(); //output "Python"
$b = new JohnProgramming();
$b->my_language(); //output "John"
echo JohnMYCONST; //output "1"
echo SamMYCONST; //output "2"
?>
Tutvumise klassi või meetodeid peame lisada nimeruumi nime enne seda.
Loodetavasti saate aru, kuidas PHP-s nimeruumi kasutada. Kui teil on küsimusi või ettepanekuid, jätke kommentaar allpool.