Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1807 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Questions sur la fonction include

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Questions sur la fonction include

n°882604
crazyjoke
Posté le 25-10-2004 à 22:55:04  profilanswer
 

Je voudrais parler ici d'un sujet qui me trouble :
 
Considérons 4 fichiers : file1, file2, file3, vars avec les contenus suivants :  
 
vars:
 
...code, déclaration de variables ...
 
--------------------------------
 
file1 :
 
...code...
include "file2"
...code...
 
--------------------------------
 
file2:
 
...code...
include "file3"
...code...
 
--------------------------------
 
file3:
 
...code...
 
--------------------------------
 
 
Puis-je utiliser les varaibles de vars, ou file1 dans file3, file2 ?
 
Si oui, y-a-t'il un "niveau" limite ?
 
Merci de vos réponses.
 
 
PS: chez moi les variable de vars peuvent etre vues dans file2 mais pas file3 ! :heink:

mood
Publicité
Posté le 25-10-2004 à 22:55:04  profilanswer
 

n°882607
KangOl
Profil : pointeur
Posté le 25-10-2004 à 23:03:07  profilanswer
 

oui et il y a pas de limite...
 
ps : t'es sur de pas ecraser tes variables ?


---------------
Nos estans firs di nosse pitite patreye...
n°882609
naceroth
Posté le 25-10-2004 à 23:05:05  profilanswer
 

Simplifie toi la vie : le include recopie le contenu d'un fichier X dans un fichier Y puis exécute Y. Toutes variables définies/fonction/wte sera donc accessible dans le code suivant le include.
 
Perso, j'ai jamais rencontré de limite au nombre d'inclusion possible :)

n°882614
crazyjoke
Posté le 25-10-2004 à 23:10:29  profilanswer
 

ui mais c'est plus lisible avec différents fichiers !
 
Et non je n'écrase aucune variable, je m'en sert juste mais sa valeur n'est pas passé je ne comprend pas!
 
PS: je m'en sert dans une classe .

n°882629
naceroth
Posté le 25-10-2004 à 23:19:56  profilanswer
 

crazyjoke a écrit :

ui mais c'est plus lisible avec différents fichiers !


 
C'est pour la compréhension du fonctionnement que je te disais de te simplifier la vie :)
 
Pour le reste, sans le code, comme d'hab, on peut rien faire :)

n°882633
crazyjoke
Posté le 25-10-2004 à 23:26:37  profilanswer
 

naceroth a écrit :

C'est pour la compréhension du fonctionnement que je te disais de te simplifier la vie :)
 
Pour le reste, sans le code, comme d'hab, on peut rien faire :)


 
Oui mais quand index.php fait 1500 lignes c'est pas simple à lire si tu vois ce que je veux dire ... :D

n°882635
crazyjoke
Posté le 25-10-2004 à 23:29:47  profilanswer
 

Voila le code !
 
<?php
//Fichier include contenant le nécessaire a la sécurité du site web
 
 class secure {
   
  function send_cookie ($name, $value) {
   if (!setcookie ($name, $value)) {
    echo "error cookie cannot be sent <br>";
    }
   }
   
  function check_cookies () {
   
   include "admin/config/config.php";
 
   $usernick = $_COOKIE["puceos_nick"];
   $userpass = $_COOKIE["puceos_pass"];
   
   mysql_connect($hostname, $username, $password);
   mysql_select_db($database);
 
BLABLABLABLABLA, après c'est plus intéressant, en fait je n'arrive pas a voir le contenu de $hostname, $username, etc ... sans réinclure de fichier dans la classe. alors que avant la classe c'est lisible.

n°882637
crazyjoke
Posté le 25-10-2004 à 23:31:22  profilanswer
 

C'est booooooooo hein comme code :D ?

n°882638
KangOl
Profil : pointeur
Posté le 25-10-2004 à 23:31:51  profilanswer
 

le seul erreur si une variable foire, c'est que tu l'ecrase (ou que tu te trompe de variable mais la !)


---------------
Nos estans firs di nosse pitite patreye...
n°882644
naceroth
Posté le 25-10-2004 à 23:34:13  profilanswer
 

heureusement que tu fais des includes :D
 
Si tu initialises tes vars directement dans file3, ça marche ?

mood
Publicité
Posté le 25-10-2004 à 23:34:13  profilanswer
 

n°882645
KangOl
Profil : pointeur
Posté le 25-10-2004 à 23:34:58  profilanswer
 

erreur classique : met tes variables en global :D


---------------
Nos estans firs di nosse pitite patreye...
n°882649
naceroth
Posté le 25-10-2004 à 23:38:26  profilanswer
 

crazyjoke a écrit :

Voila le code !

Code :
  1. <?php
  2. //Fichier include contenant le nécessaire a la sécurité du site web
  3. class secure {
  4.  function send_cookie ($name, $value) {
  5.   if (!setcookie ($name, $value)) {
  6.    echo "error cookie cannot be sent <br>";
  7.    }
  8.   }
  9.  function check_cookies () {
  10.   include "admin/config/config.php";
  11.   $usernick = $_COOKIE["puceos_nick"];
  12.   $userpass = $_COOKIE["puceos_pass"];
  13.   mysql_connect($hostname, $username, $password);
  14.   mysql_select_db($database);




 
Ah ça perso, je suis pas fan, je préfère largement initialisé les paramètres de connection, soit en les passant à la méthode, soit par le constucteur :)

n°882651
crazyjoke
Posté le 25-10-2004 à 23:40:27  profilanswer
 

c'est quoi la méthode, le constructeur ?? je suis nouveau en fait en php !

n°882654
crazyjoke
Posté le 25-10-2004 à 23:41:32  profilanswer
 

Si elles sont pas en global on ne les voit pas dans la classe ?

n°882659
KangOl
Profil : pointeur
Posté le 25-10-2004 à 23:45:15  profilanswer
 

bha non comme dans les fonctions...
 
mais les passer au constructeur est mieux niveau POO


---------------
Nos estans firs di nosse pitite patreye...
n°882684
naceroth
Posté le 26-10-2004 à 00:05:01  profilanswer
 

crazyjoke a écrit :

c'est quoi la méthode, le constructeur ?? je suis nouveau en fait en php !


 
Ah :) C'est pas propre à PHP, ce sont des termes de programmation objet, donc (en version simplifiée) :
 
- Les méthodes sont les fonctions définies dans une classe (et pour ta culture générale, les variables d'une classe sont appellées propriétés :))
- Le constructeur est une méthode particulière qui est appellée systématiquement à la création de l'objet. En php4, c'est une fonction définie dans la classe et qui porte le même nom que ta classe.
 

Code :
  1. class MaClass{
  2. var $bar; // une propriété
  3. // le constructeur
  4. function MaClass($variable){
  5.   $this->bar = $variable;
  6. }
  7. // une méthode
  8. function Foo(){...}
  9. }


n°882686
crazyjoke
Posté le 26-10-2004 à 00:06:51  profilanswer
 

Euh meme en mettant dans mon fichier de config :
 
global $hostname, $username, $password, $database;
 
ca ne marche pas

n°882689
crazyjoke
Posté le 26-10-2004 à 00:08:44  profilanswer
 

Laisse tomber j'avais rien compris a la syntaxe de global !!

n°882708
crazyjoke
Posté le 26-10-2004 à 00:22:48  profilanswer
 

Dites quand j'envoi des cookies en php, la page qui les envoie n'y a pas accès directement par $_COOKIE ?

n°882712
naceroth
Posté le 26-10-2004 à 00:27:32  profilanswer
 
n°882713
Profil sup​primé
Posté le 26-10-2004 à 00:30:37  answer
 

crazyjoke a écrit :

Euh meme en mettant dans mon fichier de config :
 
global $hostname, $username, $password, $database;
 
ca ne marche pas


global te sert normalement uniquement dans des fonctions pour accéder aux variables extérieurs, si tu utilise global directement dans un fichier en dehors de fonction, ca sert à rien
essaye avec $_GLOBALS['tavar'] pr voir

n°882717
crazyjoke
Posté le 26-10-2004 à 00:35:30  profilanswer
 

Oui ca y est j'ai lu correctement l'aide de php.net :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Questions sur la fonction include

 

Sujets relatifs
fonction mail() et formatage du messageProbleme avec la fonction GetCurrentThread sous XP
Envoyer un mail "propre" avec la fonction mail()[postgres/Fonction] Probleme fonction
[SQL Server 2000] Questions élémentaires - Help !Valeur de retour d'une fonction si erreur
[SQL] Fonction MAX[SQL server] Probleme de fonction de chaine (parsing)
Tcl-Tk: fonction traceredirection selon une fonction
Plus de sujets relatifs à : Questions sur la fonction include


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR