⊗ppOpNsSn 96 of 107 menu

Syntaxe des espaces de noms en POO en PHP

Pour attribuer un espace de noms à une classe, il faut écrire en première ligne du fichier dans lequel est stockée cette classe la commande namespace, et après elle, séparé par un espace - le nom de cet espace de noms.

Si une classe appartient à un espace de noms, alors pour créer un objet de la classe, il faudra spécifier non seulement le nom de la classe, mais aussi son espace de noms, séparés par une barre oblique inversée. Regardons un exemple.

Supposons que nous ayons une classe Page, n'appartenant à aucun espace de noms. Alors un objet de cette classe sera créé comme suit :

<?php $page = new Page; ?>

Supposons maintenant que cette classe appartienne à l'espace de noms Admin. Dans ce cas, un objet de cette classe sera créé de cette manière :

<?php $page = new \Admin\Page; ?>

Séparons les classes pour les utilisateurs et les classes pour les administrateurs dans différents espaces de noms, afin d'éviter les conflits de classes décrits ci-dessus.

Pour la classe Page du fichier /admin/page.php spécifions l'espace de noms Admin :

<?php namespace Admin; class Page { } ?>

Et pour la classe Page du fichier /users/page.php spécifions l'espace de noms Users :

<?php namespace Users; class Page { } ?>

Créons maintenant dans le fichier /index.php un objet de chacune des deux classes Page :

<?php require_once '/admin/page.php'; require_once '/users/page.php'; $adminPage = new \Admin\Page; $usersPage = new \Users\Page; ?>

Supposons que vous ayez un dossier core et un dossier project. Dans chaque dossier se trouve sa propre classe Controller. Faites en sorte que ces classes appartiennent à des espaces de noms différents. Dans le fichier index.php, créez des objets de chacune des deux classes.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser