Nimiavaruudet PHP:ssä

N

Mitä nimitilat ovat PHP:ssä?

PHP:n nimiavaruuksia kuvataan myös tarkenteina, jotka tarjoavat ohjelmalle kaksi päätoimintoa.

  1. Järjestä koodi namesapcen avulla ryhmittelemällä samanluonteiset luokat yhdeksi nimiavaruuteen.
  2. Nimiavaruuden avulla voimme käyttää samaa nimeä useammalle kuin yhdelle luokalle, koska ne on kääritty nimiavaruuteen.

Yleinen esimerkki nimiavaruuksista

Meillä on esimerkiksi ryhmä luokkia, jotka suorittavat matemaattiset perusoperaatiot DMAS (jako-, kerto-, yhteen- ja vähennyslasku). Meillä on myös toinen luokkaryhmä, joka valmistelee luokan oppilaiden tuloksia.

Nimiavaruuksien avulla voimme järjestää nämä kaksi luokkajoukkoa kahdeksi nimiavaruudeksi. Yksi nimiavaruus sisältää matematiikkaan liittyvät luokat ja toinen tuloslaskentaluokat.

Kuinka ilmoittaa nimiavaruudesta se PHP?

  • Nimiavaruus ilmoitetaan PHP-komentosarjan yläosassa, jotta se voi olla käytettävissä koko tiedostossa.
  • nimiavaruus avainsana on varattu nimiavaruuksien ilmoittamiseen.

Syntaksi

// Declare a namespace maths:
namespace Maths;

Huomautuksia: On pakollista ilmoittaa nimiavaruus tiedoston yläosassa/ Seuraava koodi olisi väärä.

<?php
echo "Hello PHP!";
namespace Maths;
...
?>

Katso nyt tämän aiheen toista puolta, eli luokat, jotka ovat osa nimiavaruutta. Otamme Maths-luokan esimerkkiluokkana, joka ilmoittaa sen nimiavaruudessa.

Luo Division-luokka Math-nimiavaruuteen

<?php
namespace Maths;
class Division {
  public function divide($numenator, $denominator) {
         $result = $numenator/$denominator;
         echo $result;
  }
}
$div= new Division();
?>

<!DOCTYPE html>
<html>
<body>

<?php
$div->divide(6, 3);
?>
</body>
</html>
  • Yllä olevassa esimerkissä luomme Division-luokan Maths-nimiavaruuteen. Keskity käytä nimiavaruutta avainsanan käyttö Division-luokan huipulla. Se määrittää, että tämä Divison-luokka on osa matematiikan nimiavaruutta.
  • Nyt voimme käyttää jakomenetelmää missä tahansa käyttämällä koodimme Maths-nimiavaruutta.

Kuinka sisäkkäiset nimiavaruudet määritellään?

Oletetaan, että haluamme ilmoittaa matematiikan nimiavaruuden koodin nimiavaruuden sisällä.

namespace Code\Maths;

Kuinka käyttää nimiavaruuksia PHP:ssä?

  • Nimiavaruuteen kuuluva luokka ei tarvitse objektia. Voimme käyttää luokkaa koodissa, joka käyttää sen luokan nimiavaruutta, johon haluamme päästä luomatta sen ilmentymää.
  • Päästäksemme luokkaan namesapcen ulkopuolella, voimme tehdä sen liittämällä siihen nimitilan.

esimerkki

$div= new Maths\division()
$mul= new Maths\multiplication();

Kun meillä on useita luokkia, jotka käyttävät samaa nimiavaruutta, on yksinkertaisempaa käyttää nimiavaruuden avainsanaa sen sijaan, että niitä käytettäisiin, kuten yllä olevassa esimerkissä.

namespace Maths;
$div = new division();
$mul = new multiplication();

Yllä olevassa esimerkissä pääsemme jako- ja kertoluokkiin käyttämättä Maths\division tai Maths\multiplication tarkennetta.

Aliaksen käyttäminen nimiavaruuden kanssa

Aliaksen (lempinimen) antaminen nimiavaruuteen on helpompi kirjoittaa koodiin. Tästä on apua, kun nimiavaruus on liian pitkä tai työlästä kirjoittaa uudestaan ​​ja uudestaan.

esimerkki

use Maths as M;
$div = new M\division();

Yleiskatsaus PHP:n nimiavaruuksiin virallinen PHP-dokumentaatio.

lisää kommentti

Tutor-verkosto

Opi PHP pisteestä A paikkaan Z