Tutoriel PHP

ACCUEIL PHP Introduction PHP Installation PHP Syntaxe PHP Commentaires PHP Variables PHP Écho PHP / Impression Types de données PHP Chaînes PHP Numéros PHP Mathématiques PHP Constantes PHP Opérateurs PHP PHP Si... Sinon... Sinon Commutateur PHP Boucles PHP Fonctions PHP Tableaux PHP Superglobales PHP Expression régulière PHP

Formulaires PHP

Gestion des formulaires PHP Validation de formulaire PHP Formulaire PHP requis URL/courriel du formulaire PHP Formulaire PHP terminé

PHP Avancé

Date et heure PHP Inclure PHP Gestion des fichiers PHP Fichier PHP Ouvrir/Lire Création/écriture de fichier PHP Téléchargement de fichier PHP Cookies PHP Séances PHP Filtres PHP Filtres PHP avancés Fonctions de rappel PHP PHPJSON Exception PHP

POO PHP

PHP Qu'est-ce que la POO Classes/Objets PHP Constructeur PHP Destructeur PHP Modificateurs d'accès PHP Héritage PHP Constantes PHP Classes abstraites PHP Interface PHP Caractéristiques PHP Méthodes statiques PHP Propriétés statiques PHP Espaces de noms PHP Itérables PHP

Base de données MySQL

Base de données MySQL Connexion MySQL Créer une base de données MySQL Créer une table MySQL MySQL Insérer des données MySQL obtenir le dernier ID MySQL Insérer plusieurs MySQL préparé MySQL Sélectionner les données MySQL Où Trier MySQL par MySQL Supprimer les données Données de mise à jour MySQL Données de limite MySQL

XML PHP

Analyseurs PHP XML Analyseur PHP SimpleXML PHP SimpleXML - Obtenir Expatriation PHP XML PHP XML DOM

PHP -AJAX

Introduction à AJAX PHP AJAX Base de données AJAX XML AJAX Recherche en direct AJAX Sondage AJAX

Exemples PHP

Exemples PHP Compilateur PHP Questionnaire PHP Exercices PHP Certificat PHP

Référence PHP

Présentation de PHP Tableau PHP Calendrier PHP Date PHP Annuaire PHP Erreur PHP Exception PHP Système de fichiers PHP Filtre PHP FTP PHP PHPJSON Mots clés PHP PHP LibxmlComment Messagerie PHP Mathématiques PHP Divers PHP PHP MySQL Réseau PHP Contrôle de sortie PHP Expression régulière PHP PHP SimpleXML Flux PHP Chaîne PHP Gestion des variables PHP Analyseur PHP XML Code postal PHP Fuseaux horaires PHP

Espaces de noms PHP


Espaces de noms PHP

Les espaces de noms sont des qualificateurs qui résolvent deux problèmes différents :

  1. Ils permettent une meilleure organisation en regroupant des classes qui travaillent ensemble pour effectuer une tâche
  2. Ils permettent d'utiliser le même nom pour plusieurs classes

Par exemple, vous pouvez avoir un ensemble de classes qui décrivent un tableau HTML, telles que Table, Row et Cell, tout en ayant également un autre ensemble de classes pour décrire des meubles, tels que Table, Chair et Bed. Les espaces de noms peuvent être utilisés pour organiser les classes en deux groupes différents tout en évitant que les deux classes Table et Table ne soient mélangées.


Déclarer un espace de noms

Les espaces de noms sont déclarés au début d'un fichier à l'aide du mot- namespaceclé :

Syntaxe

Déclarez un espace de noms nommé Html :

namespace Html;

Remarque : Une namespacedéclaration doit être la première chose dans le fichier PHP. Le code suivant serait invalide :

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

Les constantes, classes et fonctions déclarées dans ce fichier appartiendront à l' espace de noms Html :

Exemple

Créez une classe Table dans l'espace de noms 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>

Pour plus d'organisation, il est possible d'avoir des espaces de noms imbriqués :

Syntaxe

Déclarez un espace de noms appelé Html dans un espace de noms appelé Code :

namespace Code\Html;

Utilisation des espaces de noms

Tout code qui suit une namespacedéclaration fonctionne à l'intérieur de l'espace de noms, de sorte que les classes qui appartiennent à l'espace de noms peuvent être instanciées sans aucun qualificatif. Pour accéder aux classes depuis l'extérieur d'un espace de noms, la classe doit avoir l'espace de noms qui lui est attaché.

Exemple

Utilisez les classes de l'espace de noms HTML :

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

Lorsque plusieurs classes du même espace de noms sont utilisées en même temps, il est plus simple d'utiliser le mot- namespaceclé :

Exemple

Utilisez les classes de l'espace de noms Html sans avoir besoin du Html\qualificatif :

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

Alias ​​d'espace de noms

Il peut être utile de donner à un espace de noms ou à une classe un alias pour faciliter l'écriture. Cela se fait avec le usemot clé :

Exemple

Attribuez un alias à un espace de noms :

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

Exemple

Donnez un alias à une classe :

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