XHTML.net

Technology talks by Loïc d’Anterroches

News, articles, PHP, scripts, XHTML/CSS, …

  1. Home
  2. PHP: Hypertext Preprocessor

Espace de noms dans PHP (namespace)

The 2008-11-03 at 10:15 by Loïc d'Anterroches filed under PHP: Hypertext Preprocessor.

C’est décidé, le séparateur des espaces de noms pour PHP sera \ le "backslash". Cette décision fait couler beaucoup d’encre, particulièrement les personnes trouvant ce caractère trop Windows. Je me rappelle de ma première réaction avec les décorateurs Python commençant par l’arobase @. Je trouvais cela moche et trop Perl à mon goût. Maintenant, je trouve cela normal.

Que cela soit ::, :::, /, , ou n’importe quel autre caractère, l’important est que cela se tape vite, ce qui est le cas, que cela se repère vite dans le code, ce qui est aussi le cas et que mon mode PHP dans Emacs puisse faire la coloration syntaxique correctement, ce qui sera bientôt le cas plus que probablement. Conclusion, on s’y fait fait vite et de toute façon, cela restera en haut de fichier.

Comments from readers

Laurentj said:

>l’important est que cela se tape vite,

taper "::" va bien plus vite que de se coltiner ALTGR+8 pour faire un \. ça oblige une gymnastique de la main qui est tout de même limite acrobatique, puisqu'on doit tordre le pouce vers l'intérieur de la main, pivoter légèrement le poignet vers la gauche etc, vive les troubles musculo squelettiques ! ;-).

Bref, ça ne va vite que sur les claviers querty...

>Conclusion, on s’y fait fait vite

Les anti-slash, ça fait 20 ans que je ne m'y fait pas (une des nombreuses raisons de mon switch vers linux d'ailleurs).

Loïc said:

Oups, je n'avais pas pensé aux utilisateurs de claviers français. C'est effectivement un problème dans ce cas :-/

Par contre, si on réfléchit, c'est ce que j'écrivais en conclusion, normalement, on ne fait les "imports" qu'au début du fichier, donc finalement, on ne fait pas beaucoup d'imports et cela reste donc "anecdotique" par rapport à la quantité de code écrit. C'est pour cela que de toute façon, je préfère ne pas trop me poser de questions et regarder ce que cela va donner.

Spy-Seth said:

Je me pose une question... pourquoi changer ça ? Moi je trouvais logique ce "/" : en développement web (et tous ce qui s'y rattache : PHP, XML, CSS, JS...) on mets des "/", et quand on est en local (sur windows) on mets des "\", simple et efficace.

Mais là je n'arrive pas à voir la logique... car même si PHP adopte le "\", les URI (qui sont définie par les "normes" HTTP) continue à être appelées avec "/"... le bazard !

Loïc said:

Attention, on parle de séparateur d'espace de noms, ceci est indépendant des URI.
http://fr.wikipedia.org/wiki/Namespace

Le compilateur PHP considère déjà "/" comme étant la division, donc si on écrit :

use my/module/myclass as Class

Il va y avoir un problème dans l'interprétation par le compilateur du slash. Dans ce cas, cela donne l'impression d'une division de constantes.

C'est vrai que :

use my\module\class as Class

n'est pas très joli, mais bon, c'est beaucoup une question d'habitude.

Spy-Seth said:

Effectivement, maintenant que tu le fais remarquer, j'ai confondu Manespace et URI... *Honte*

Lastnico said:

J'ai plus l'impression qu'ils ont choisi le backslash par dépit que par choix. Si effectivement, le symbole / désigne la division, que ferait une division après un mot clé namespace ou un use ???

Ne serait-ce pas un manque de contrôle sur leur interpréteur, déjà pas très gâté par la nature ?

Voice your ideas

It is painless and I try not to kill electrons in the process.


Your email is required but will not be shared nor displayed.


Do you think your comment will force me to write even better stuff next time? If so, you simply rock.


Logo of Plume CMS