Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Usage du backslash ?

9 réponses
Avatar
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 \Core\AbstractWebServiceProvider {

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 $).

9 réponses

Avatar
Denis Beauregard
Le Sun, 18 Oct 2015 17:54:25 +0200, Une Bévue
écrivait dans fr.comp.lang.php:

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 $).



Serait-ce un résidu d'une version pour Windows ?

Dans unix/linux : monprogramme /etc/div/xyx -argument
Dans windows: monprogramme etcdivxyx /argument


Denis
Avatar
Electron
Le 18/10/2015 17:54, Une Bévue a écrit :
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 Ap ache2 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 $).



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.
Avatar
Une Bévue
Le 18/10/2015 20:41, Denis Beauregard a écrit :
Serait-ce un résidu d'une version pour Windows ?

Dans unix/linux : monprogramme /etc/div/xyx -argument
Dans windows: monprogramme etcdivxyx /argument



Ben, c'est ce que j'ai pensé aussi, donc, ça ne peut pas marcher sur Mac
OS X...
Avatar
Une Bévue
Le 19/10/2015 06:03, Une Bévue a écrit :

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...
Avatar
Denis Beauregard
Le Mon, 19 Oct 2015 06:03:48 +0200, Une Bévue
écrivait dans fr.comp.lang.php:

Le 18/10/2015 20:41, Denis Beauregard a écrit :
Serait-ce un résidu d'une version pour Windows ?

Dans unix/linux : monprogramme /etc/div/xyx -argument
Dans windows: monprogramme etcdivxyx /argument



Ben, c'est ce que j'ai pensé aussi, donc, ça ne peut pas marcher sur Mac
OS X...




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
Avatar
Une Bévue
Le 19/10/2015 19:40, Denis Beauregard a écrit :
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.



ok merci bien pour ces précisions.
Avatar
mazert
Le 18/10/2015 17:54, Une Bévue a écrit :
Dans une appli téléchargée "Mongo Admin" (c'est une béta)

j'ai des choses comme :
class Authentication extends CoreAbstractWebServiceProvider {



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
Avatar
mazert
Le 01/11/2015 11:41, mazert a écrit :
Le 18/10/2015 17:54, Une Bévue a écrit :
Dans une appli téléchargée "Mongo Admin" (c'est une béta)

j'ai des choses comme :
class Authentication extends CoreAbstractWebServiceProvider {





Correction :

Il s'agit d'utiliser la classe abstraite AbstractWebServiceProvider
située dans le namespace (l'espace de nom) : Core
Avatar
Une Bévue
Le 01/11/2015 11:41, mazert a écrit :
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




OK, OK, merci beaucoup pigé !

ça n'a donc rien à voir avec les pathes version windows, ce que je
supputais.