prob acces membres de classes pour fichier inclus en path absolu

prob acces membres de classes pour fichier inclus en path absolu - PHP - Programmation

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
Reply

Marsh Posté le 26-07-2005 à 15:52:28   

Reply

Marsh Posté le 26-07-2005 à 15:59:23    

le template HTML a une extension .php (pour info)

Reply

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)


---------------
Gamertag: CoteBlack YeLL
Reply

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.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-07-2005 à 17:45:33    

:??:
 
Pour passer des arguments à quoi ?


Message édité par Dj YeLL le 26-07-2005 à 17:45:44

---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 26-07-2005 à 17:46:32    

Reply

Marsh Posté le 26-07-2005 à 17:50:00    

J'ai du mal à tout saisir (bientôt la fin de la journée :lol:)
 
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à :lol:


---------------
Gamertag: CoteBlack YeLL
Reply

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


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

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 :)


---------------
Gamertag: CoteBlack YeLL
Reply

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


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-07-2005 à 17:55:38   

Reply

Marsh Posté le 26-07-2005 à 17:57:12    

Dj YeLL a écrit :

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 :)


 
Ben nan. [:spamafote]
 
edit: en fait si, j'pensais qu'on parlait encore d'include. :o


Message édité par sielfried le 26-07-2005 à 18:22:04

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-07-2005 à 17:58:56    

Enfin bon concrètement jokari, pourquoi t'aurais besoin de filer un chemin absolu ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

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 :)
 
:jap:


---------------
Gamertag: CoteBlack YeLL
Reply

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 :)
 
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 :)
 
:jap:


 
'xactement. :)


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-07-2005 à 18:02:30    


 
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 ...
 
++


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 26-07-2005 à 18:05:13    

Ah pardon jcroyais qu'on était toujours sur les include...


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 26-07-2005 à 18:53:04    

:lol: On va pas s'en sortir là :D


---------------
Gamertag: CoteBlack YeLL
Reply

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

Reply

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


 
T'es sûr de pas confondre liens absolus et relatif ? :??:


---------------
Gamertag: CoteBlack YeLL
Reply

Marsh Posté le 26-07-2005 à 19:05:17    

lien relatif :"../nom_dossier_parent/page.php"
lien absolu : "http://serveur/dossier/page.php"

Reply

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');
 
:D


---------------
Gamertag: CoteBlack YeLL
Reply

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.


Message édité par jokari34 le 26-07-2005 à 19:16:39
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed