Výukový program PHP

PHP HOME Úvod do PHP Instalace PHP Syntaxe PHP Komentáře PHP PHP proměnné PHP Echo / tisk Datové typy PHP PHP řetězce PHP čísla PHP matematika Konstanty PHP Operátoři PHP PHP If...Else...Elseif Přepínač PHP PHP smyčky Funkce PHP Pole PHP PHP Superglobals PHP RegEx

Formuláře PHP

Manipulace s formuláři PHP Ověření formuláře PHP Je vyžadován formulář PHP Adresa URL / e-mail PHP formuláře Formulář PHP dokončen

PHP pro pokročilé

Datum a čas PHP Zahrnout PHP Práce se soubory PHP PHP soubor otevřít/číst Vytvoření/zápis souboru PHP Nahrání souboru PHP PHP soubory cookie PHP relace PHP filtry Pokročilé filtry PHP Funkce zpětného volání PHP PHP JSON Výjimky PHP

PHP OOP

PHP Co je OOP PHP třídy/objekty PHP konstruktor PHP destruktor Modifikátory přístupu PHP Dědičnost PHP Konstanty PHP Abstraktní třídy PHP Rozhraní PHP Vlastnosti PHP Statické metody PHP Statické vlastnosti PHP Jmenné prostory PHP PHP Iterables

Databáze MySQL

Databáze MySQL Připojení MySQL MySQL Vytvořte DB Vytvořit tabulku MySQL Vložit data MySQL MySQL Get Last ID MySQL Insert Multiple MySQL připraveno MySQL Select Data Kde MySQL Pořadí MySQL podle Vymazání dat MySQL Aktualizace dat MySQL Limit dat MySQL

PHP XML

PHP analyzátory XML PHP SimpleXML Parser PHP SimpleXML - Získejte PHP XML expat PHP XML DOM

PHP - AJAX

Úvod do AJAXu AJAX PHP Databáze AJAX AJAX XML AJAX Live Search Anketa AJAX

Příklady PHP

Příklady PHP PHP kompilátor PHP kvíz Cvičení PHP Certifikát PHP

Reference PHP

Přehled PHP Pole PHP Kalendář PHP Datum PHP Adresář PHP Chyba PHP Výjimka PHP Souborový systém PHP PHP filtr PHP FTP PHP JSON Klíčová slova PHP PHP Libxml PHP Mail PHP matematika PHP Různé PHP MySQLi Síť PHP Ovládání výstupu PHP PHP RegEx PHP SimpleXML PHP stream PHP řetězec PHP Variable Handling PHP XML Parser PHP zip Časová pásma PHP

Jmenné prostory PHP


Jmenné prostory PHP

Jmenné prostory jsou kvalifikátory, které řeší dva různé problémy:

  1. Umožňují lepší organizaci seskupením tříd, které spolupracují na plnění úkolu
  2. Umožňují použití stejného názvu pro více než jednu třídu

Můžete například mít sadu tříd, které popisují tabulku HTML, jako je tabulka, řádek a buňka, a zároveň mít další sadu tříd pro popis nábytku, jako je stůl, židle a postel. Jmenné prostory lze použít k uspořádání tříd do dvou různých skupin a zároveň zabránit záměně dvou tříd Table a Table.


Deklarace jmenného prostoru

Jmenné prostory jsou deklarovány na začátku souboru pomocí namespaceklíčového slova:

Syntax

Deklarujte jmenný prostor s názvem Html:

namespace Html;

Poznámka: Deklarace namespacemusí být první věcí v souboru PHP. Následující kód by byl neplatný:

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

Konstanty, třídy a funkce deklarované v tomto souboru budou patřit do jmenného prostoru Html :

Příklad

Vytvořte třídu Table v oboru názvů Html:

<?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>

Pro další organizaci je možné mít vnořené jmenné prostory:

Syntax

Deklarujte jmenný prostor s názvem Html uvnitř jmenného prostoru s názvem Kód:

namespace Code\Html;

Použití jmenných prostorů

Jakýkoli kód, který následuje po namespacedeklaraci, funguje uvnitř jmenného prostoru, takže třídy, které do jmenného prostoru patří, lze konkretizovat bez jakýchkoli kvalifikátorů. Chcete-li přistupovat ke třídám z místa mimo jmenný prostor, třída musí mít jmenný prostor připojen k ní.

Příklad

Použijte třídy z oboru názvů Html:

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

Když se současně používá mnoho tříd ze stejného jmenného prostoru, je jednodušší použít namespaceklíčové slovo:

Příklad

Používejte třídy z oboru názvů Html bez potřeby Html\qualifier:

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

Alias ​​jmenného prostoru

Může být užitečné přidělit jmennému prostoru nebo třídě alias, aby se usnadnilo psaní. To se provádí pomocí useklíčového slova:

Příklad

Dejte jmennému prostoru alias:

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

Příklad

Dejte třídě alias:

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