Usage du backslash ?
Le
Une Bévue

Dans une appli téléchargée "Mongo Admin" (c'est une béta)
j'ai des choses comme :
class Authentication extends CoreAbstractWebServiceProvider {
donc avec des backslashes.
ça signifie quoi en php5 ?
L'appli ne "marche pas", elle donne une page blanche, il y a bien des
tas de divs imbriquées, MAIS, la seule qui ait un contenu "text" c'est
" " càd une espace insécable
J'ai vérifié les perms, le mod_rewrite est chargé pas Apache2 et j'ai
mis des Allowoverride All partout dans httpd.conf comme demandé.
Je suis sous Mac OS X Yosemite.
je n'ai jamais vu de "" dans un fichier php.
(mis à part pour escaper un $).
j'ai des choses comme :
class Authentication extends CoreAbstractWebServiceProvider {
donc avec des backslashes.
ça signifie quoi en php5 ?
L'appli ne "marche pas", elle donne une page blanche, il y a bien des
tas de divs imbriquées, MAIS, la seule qui ait un contenu "text" c'est
" " càd une espace insécable
J'ai vérifié les perms, le mod_rewrite est chargé pas Apache2 et j'ai
mis des Allowoverride All partout dans httpd.conf comme demandé.
Je suis sous Mac OS X Yosemite.
je n'ai jamais vu de "" dans un fichier php.
(mis à part pour escaper un $).
Serait-ce un résidu d'une version pour Windows ?
Dans unix/linux : monprogramme /etc/div/xyx -argument
Dans windows: monprogramme etcdivxyx /argument
Denis
Bonjour,
J'ai vu ça dans un tuto video php...
Voir les espaces de noms
http://php.net/manual/fr/language.namespaces.rationale.php
C'est un bon point de départ pour ta recherche. Mais je n'en sais pa s
beaucoup plus n'ayant pas approfondi la chose.
Bien à vous,
Electron.
Ben, c'est ce que j'ai pensé aussi, donc, ça ne peut pas marcher sur Mac
OS X...
Mais bon, l'erreur ne venait pas de là.
Comme ce logiciel utilise du json, il ne faut strictement n'avoir aucun
warning ni erreur, j'ai donc du changer mon php.ini.
Depuis ça roule avec des backslashes dans des noms de classe...
Dans Windows, en interne, donc en dehors de la ligne de commande,
/ et sont équivalents. Un logiciel bien écrit devrait préférer
/ qui couvre tous les environnements (Windows, Unix/Linux et dérivés
comme Mac OS X ou Android). Peut-être que le PHP a prévu le coup et
que les / et sont équivalents quand le n'est pas dans une chaîne,
ce qui expliquerait ton message qui suit, soit d'ignorer les
avertissements.
Denis
ok merci bien pour ces précisions.
Il s'agit d'utiliser la classe abstraite AbstractWebServiceProvider
située dans le namespace (l'espace de nom) CoreAbstractWebServiceProvider.
Pour la faire courte : est l'espace de nom racine . Imaginons que tu
te trouve dans un namespace Toto par exemple, tu ne pourra pas faire de
chose comme new Exception par exemple, car la classe Exception ne se
trouve pas dans le namespace Toto mais dans le namespace global , donc
il faudra faire new Exception("Ca marche pas !, 666).
Plus de détails :
https://openclassrooms.com/courses/les-espaces-de-noms-en-php
Correction :
Il s'agit d'utiliser la classe abstraite AbstractWebServiceProvider
située dans le namespace (l'espace de nom) : Core
OK, OK, merci beaucoup pigé !
ça n'a donc rien à voir avec les pathes version windows, ce que je
supputais.