Edistynyt PHP-ohjelmointi – Kuinka käyttää nimitilaa PHP: ssä
PHP-aloittelijoille konseptinimitilat näyttävät melko monimutkaisilta. Mutta kun ymmärrämme nimitilojen perusteet, se on helppo toteuttaa. Tässä artikkelissa tutkitaan, miten nimitilaa käytetään PHP: ssä.
Kehittäjänä saat tuntuman edistyneestä PHP-ohjelmoinnista käyttäessäsi nimitiloja koodissasi.
PHP otti käyttöön nimitiloja välttääkseen luokkien, toimintojen ja vakioiden välisiä ristiriitoja.
Kun työskentelemme suuren projektin parissa, saattaa olla, että ohjelmoijat voivat antaa samoja nimiä luokalle, toiminnoille tai vakioille. Esimerkiksi, jos 2 ohjelmoijaa määrittelee saman luokan A, PHP heittää vakavan virheen, kuten ei voi luokitella luokkaa A uudelleen.
Määritä nimitila PHP: ssä
Jotta ymmärtäisimme, milloin nimitila on määriteltävä, kirjoitamme osan koodista.
Oletetaan, että yksi kehittäjämme on kirjoittanut alla olevan koodin john.php-tiedostoon. Tämä koodi on vain esimerkki nimitilojen selittämisestä. Yksinkertaisuuden vuoksi kirjoitamme funktio, luokka ja vakiot samaan tiedostoon.
function my_name() {
echo "John";
}
class Programming {
function my_language() {
echo "PHP";
}
}
const MYCONST = 1;
Saimme toisen kehittäjän, joka myös käytti samaa nimeä luokassa, toiminnoissa ja vakioissa, mutta eri tarkoituksiin (tuotokset). Hänen tiedostonimi on sam.php.
function my_name() {
echo "Sam";
}
class Programming {
function my_language() {
echo "Python";
}
}
const MYCONST = 2;
Nyt kun molemmat projektimme sisältämät kehittäjätiedostot saamme kohtalokkaan virheen. Virheen syy on, että emme voi käyttää samaa nimeä kahdesti luokassa tai menetelmässä.
Tässä meidän pitäisi määritellä nimitila.
Molemmissa PHP-tiedostoissa voimme määrittää nimitilat kuten alla.
<?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;
?>
Kun olemme lisänneet nimitiloja yllä oleviin tiedostoihin, PHP-virheet ovat kadonneet.
Nimitilojen käyttäminen
Tässä vaiheessa olemme tehneet määrittelevät nimitilat. Seuraava vaihe on nimitilojen käyttäminen PHP: ssä.
Molempien ohjelmoijien menetelmän, luokan ja vakioiden käyttämiseksi meidän on kirjoitettava koodi seuraavasti.
<?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"
?>
Luokan tai menetelmien käyttämiseksi meidän on liitettävä nimitilan nimi ennen sitä.
Toivomme, että ymmärrät kuinka käyttää nimitilaa PHP: ssä. Jos sinulla on kysyttävää tai ehdotuksia, jätä kommentti alla.