prob acces membres de classes pour fichier inclus en path absolu - PHP - Programmation
Marsh Posté le 26-07-2005 à 17:37:45
Il me semble qu'il est impossible de faire un include avec des liens absolus (sinon tu pourrais inclure n'importe quelle page de n'importe quel site)
Marsh Posté le 26-07-2005 à 17:44:19
C'est possible d'utiliser un chemin absolu (obligatoire si on veut passer des arguments), mais impossible alors d'avoir accès au contexte de variables.
Marsh Posté le 26-07-2005 à 17:45:33
Pour passer des arguments à quoi ?
Marsh Posté le 26-07-2005 à 17:46:32
En GET, dans l'url.
Marsh Posté le 26-07-2005 à 17:50:00
J'ai du mal à tout saisir (bientôt la fin de la journée )
Il parle d'une classe qui inclut un template, donc un include('./templates/mon_template.php'); par exemple ...
J'expliquais donc qu'il n'est pas possible de faire un include('http://www.monsite.com/templates/mon_template.php');
J'ai pas trop compris comment ça à dérivé sur les passage d'arguements en GET là
Marsh Posté le 26-07-2005 à 17:52:34
C'était juste une parenthèse, j'ai pas dit que c'était en rapport avec le sujet.
Marsh Posté le 26-07-2005 à 17:55:13
ah ok lol ...
Ben de toute façon pas besoin d'url absolue pour passer des arguments...
Genre :
<a href="?arg=mon_argument">Cliquez ici</a>
Ca marchera
Marsh Posté le 26-07-2005 à 17:55:38
Et donc si, c'est possible de faire un include d'un chemin absolu, mais on a pas accès au contexte de variables, comme j'ai dit (hors des parenthèses cette fois).
Marsh Posté le 26-07-2005 à 17:57:12
Dj YeLL a écrit : ah ok lol ... |
Ben nan.
edit: en fait si, j'pensais qu'on parlait encore d'include.
Marsh Posté le 26-07-2005 à 17:58:56
Enfin bon concrètement jokari, pourquoi t'aurais besoin de filer un chemin absolu ?
Marsh Posté le 26-07-2005 à 18:00:53
Ca d'accord ... donc tout à fait impossible lorsqu'il s'agit de templates Maintenant je comprends mieux ce que tu as voulu dire
Si on a un fichier 'test.php' contenant '$test = "toto";'
avec un include('test.php'); et un echo $test; ça affichera bien "toto", alors qu'avec un include('http://monsite.com/test.php'); il dira que la varibla n'existe pas
Marsh Posté le 26-07-2005 à 18:01:57
Dj YeLL a écrit : Ca d'accord ... donc tout à fait impossible lorsqu'il s'agit de templates Maintenant je comprends mieux ce que tu as voulu dire |
'xactement.
Marsh Posté le 26-07-2005 à 18:02:30
sielfried a écrit : Ben nan. |
Ben si ...
Si tu es sur le site http://monsite.com/toto/index.php et que tu as un lien <a href="?var=test">Test</a>
Il va pointer sur http://monsite.com/toto/index.php?var=test ...
++
Marsh Posté le 26-07-2005 à 18:05:13
Ah pardon jcroyais qu'on était toujours sur les include...
Marsh Posté le 26-07-2005 à 18:53:04
On va pas s'en sortir là
Marsh Posté le 26-07-2005 à 19:00:29
ben en fait je prefere utiliser des chemins absolus, la racine etant celle du site. Je trouvais que ca faisait plus propre. et pourtant g vu mon ex chef de projet utiliser des chemins absolus et arriver quand meme a acceder aux membres de la classe.
bref, dans la pageA qui est incluse, il y a une pageB incluse (l'organisation est ainsi) et j'ai besoin d'utiliser dans cette pageB un membre de la classe qui inclut la pageA.
apparemment j'ai pas d'autre choix que de mettre des chemins relatifs. ca m'ennuie quand meme
Marsh Posté le 26-07-2005 à 19:01:51
jokari34 a écrit : ben en fait je prefere utiliser des chemins absolus, la racine etant celle du site. Je trouvais que ca faisait plus propre. et pourtant g vu mon ex chef de projet utiliser des chemins absolus et arriver quand meme a acceder aux membres de la classe. |
T'es sûr de pas confondre liens absolus et relatif ?
Marsh Posté le 26-07-2005 à 19:05:17
lien relatif :"../nom_dossier_parent/page.php"
lien absolu : "http://serveur/dossier/page.php"
Marsh Posté le 26-07-2005 à 19:10:00
C'est bien ça
Etrange, je trouve plus propre les liens relatifs
include('test.php');
include('./test.php');
include('../test.php');
Je trouve que c'est plus propre que
include('http://www.monsite.com/le/chemin/vers/ma/page/test.php');
Marsh Posté le 26-07-2005 à 19:13:11
ben c pour un site intranetque je dois livrer.
ca serait que pour ma pomme, j'utiliserais des chemins relatifs, c moins long.
je prefere utiliser les liens absolus afin d'etre sur qu'on parcours toujours le meme chemin (de base) pour retrouver les ressources
finalement j'ai trouvé une solution:
aulieu d'utiliser des chemins absolus en format HTTP jutilise le format systeme (peut etre pas le bon terme):
au lieu de http://...
j'utilise c: /web/.....
et du coup j'ai des chemins absolus ET acces aux fameux membres.
Marsh Posté le 26-07-2005 à 15:52:28
j'ai une classe qui inclut un fichier de template HTML
ce fihcier de template utilise les membre de cette classe
or, si je fais un include d'une page dans ce template:
- si je met un chemin relatif les membres sont accessibles
- si je met un chemin absolu, les membre sont innaccessibles
est ce du a un parametre que j'ai pas modifié dans httpd.conf ou php.ini ?
Message édité par jokari34 le 26-07-2005 à 15:58:24