⊗ppOpNsInr 95 of 107 menu

Introduction aux espaces de noms en POO en PHP

Si, lors de l'exécution d'un script PHP, deux classes portent le même nom, elles entreront en conflit, ce qui entraînera une erreur fatale. Ce n'est en fait pas très pratique, car il faut constamment veiller à l'unicité des noms.

Prenons l'exemple de la situation suivante : vous avez un site sur lequel il y a des utilisateurs et un administrateur. Dans le dossier users sont stockées les classes pour les utilisateurs, et dans le dossier admin - les classes pour l'administrateur.

Supposons que pour les utilisateurs et pour l'administrateur, une certaine classe Page soit nécessaire, responsable de certaines pages du site. Dans ce cas, il y aura une classe pour les utilisateurs et une autre pour l'administrateur. C'est dans une telle situation que nous risquons un conflit de noms.

La façon la plus simple de résoudre ce conflit est de donner des noms différents aux classes, par exemple, UsersPage et AdminPage. Cette méthode, cependant, conduit progressivement à l'apparition de noms de classes très longs.

En PHP, il existe une autre façon de résoudre le problème - les espaces de noms. L'essentiel est la suivante : chaque classe peut appartenir à un certain espace de noms et ainsi l'unicité des noms de classes doit être respectée uniquement à l'intérieur de cet espace.

Ainsi, pour résoudre notre problème, nous pouvons faire ce qui suit : attribuer une classe Page à un espace de noms, par exemple, Users, et la deuxième classe Page à un autre espace de noms, par exemple, Admin.

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