PHP handleiding

PHP TUIS PHP Inleiding PHP installeer PHP sintaksis PHP opmerkings PHP veranderlikes PHP Echo / Druk PHP datatipes PHP Strings PHP-nommers PHP Wiskunde PHP konstante PHP-operateurs PHP As...Anders...Elseif PHP skakelaar PHP-lusse PHP funksies PHP-skikkings PHP Superglobals PHP RegEx

PHP- vorms

PHP-vormhantering PHP-vorm validering PHP-vorm word vereis PHP-vorm URL/e-pos PHP-vorm voltooi

PHP Gevorderd

PHP datum en tyd PHP sluit in PHP-lêerhantering PHP-lêer oop/lees PHP-lêer skep/skryf PHP-lêer oplaai PHP-koekies PHP-sessies PHP filters PHP-filters Gevorderd PHP-terugbelfunksies PHP JSON PHP-uitsonderings

PHP OOP

PHP Wat is OOP PHP Klasse/Objekte PHP Konstrukteur PHP vernietiger PHP Toegangswysigers PHP erfenis PHP konstante PHP Abstrakte Klasse PHP-koppelvlakke PHP eienskappe PHP statiese metodes PHP Statiese Eienskappe PHP naamruimtes PHP Iterables

MySQL- databasis

MySQL-databasis MySQL Connect MySQL Skep DB MySQL Skep tabel MySQL Voeg data in MySQL Kry Laaste ID MySQL Voeg veelvuldige in MySQL voorberei MySQL Kies Data MySQL Waar MySQL Bestel deur MySQL verwyder data MySQL-opdateringsdata MySQL-limietdata

PHP XML

PHP XML-ontleders PHP SimpleXML-ontleder PHP SimpleXML - Kry PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX-databasis AJAX XML AJAX Live Search AJAX-peiling

PHP voorbeelde

PHP voorbeelde PHP samesteller PHP vasvra PHP Oefeninge PHP-sertifikaat

PHP- verwysing

PHP Oorsig PHP Skikking PHP-kalender PHP datum PHP gids PHP fout PHP-uitsondering PHP lêerstelsel PHP filter PHP FTP PHP JSON PHP sleutelwoorde PHP Libxml PHP-pos PHP Wiskunde PHP Diverse PHP MySQLi PHP-netwerk PHP-uitsetbeheer PHP RegEx PHP SimpleXML PHP-stroom PHP-string PHP veranderlike hantering PHP XML-ontleder PHP zip PHP Tydsones

PHP naamruimtes


PHP naamruimtes

Naamruimtes is kwalifiseerders wat twee verskillende probleme oplos:

  1. Hulle maak voorsiening vir beter organisasie deur klasse te groepeer wat saamwerk om 'n taak uit te voer
  2. Hulle laat toe dat dieselfde naam vir meer as een klas gebruik word

Byvoorbeeld, jy kan 'n stel klasse hê wat 'n HTML-tabel beskryf, soos Tabel, Ry en Sel, terwyl jy ook 'n ander stel klasse het om meubels te beskryf, soos Tafel, Stoel en Bed. Naamruimtes kan gebruik word om die klasse in twee verskillende groepe te organiseer, terwyl dit ook voorkom dat die twee klasse Tabel en Tabel deurmekaar gemeng word.


Verklaar 'n naamruimte

Naamruimtes word aan die begin van 'n lêer verklaar deur die namespacesleutelwoord:

Sintaksis

Verklaar 'n naamruimte genaamd HTML:

namespace Html;

Let wel: 'n namespaceVerklaring moet die eerste ding in die PHP-lêer wees. Die volgende kode sal ongeldig wees:

<?php
echo "Hello World!";
namespace Html;
...
?>

Konstante, klasse en funksies wat in hierdie lêer verklaar word, sal aan die Html - naamspasie behoort:

Voorbeeld

Skep 'n tabelklas in die HTML-naamruimte:

<?php
namespace Html;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>

<!DOCTYPE html>
<html>
<body>

<?php
$table->message();
?>

</body>
</html>

Vir verdere organisasie is dit moontlik om geneste naamruimtes te hê:

Sintaksis

Verklaar 'n naamruimte genaamd HTML binne 'n naamruimte genaamd Kode:

namespace Code\Html;

Gebruik naamruimtes

Enige kode wat op 'n namespaceverklaring volg, werk binne die naamruimte, so klasse wat aan die naamruimte behoort, kan sonder enige kwalifiseerders geïnstansieer word. Om toegang tot klasse van buite 'n naamspasie te verkry, moet die klas die naamspasie daaraan gekoppel hê.

Voorbeeld

Gebruik klasse van die HTML-naamruimte:

$table = new Html\Table()
$row = new Html\Row();

Wanneer baie klasse van dieselfde naamruimte op dieselfde tyd gebruik word, is dit makliker om die namespacesleutelwoord te gebruik:

Voorbeeld

Gebruik klasse van die Html-naamruimte sonder die behoefte vir die Html\qualifier:

namespace Html;
$table = new Table();
$row = new Row();

Naamruimte Alias

Dit kan nuttig wees om 'n naamruimte of klas 'n alias te gee om dit makliker te maak om te skryf. Dit word gedoen met die usesleutelwoord:

Voorbeeld

Gee 'n naamruimte 'n alias:

use Html as H;
$table = new H\Table();

Voorbeeld

Gee 'n klas 'n alias:

use Html\Table as T;
$table = new T();