Questions sur la fonction include - PHP - Programmation
Marsh Posté le 25-10-2004 à 23:03:07
oui et il y a pas de limite...
ps : t'es sur de pas ecraser tes variables ?
Marsh Posté le 25-10-2004 à 23:05:05
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
Marsh Posté le 25-10-2004 à 23:10:29
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 .
Marsh Posté le 25-10-2004 à 23:19:56
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
Marsh Posté le 25-10-2004 à 23:26:37
naceroth a écrit : C'est pour la compréhension du fonctionnement que je te disais de te simplifier la vie |
Oui mais quand index.php fait 1500 lignes c'est pas simple à lire si tu vois ce que je veux dire ...
Marsh Posté le 25-10-2004 à 23:29:47
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.
Marsh Posté le 25-10-2004 à 23:31:51
le seul erreur si une variable foire, c'est que tu l'ecrase (ou que tu te trompe de variable mais la !)
Marsh Posté le 25-10-2004 à 23:34:13
heureusement que tu fais des includes
Si tu initialises tes vars directement dans file3, ça marche ?
Marsh Posté le 25-10-2004 à 23:34:58
erreur classique : met tes variables en global
Marsh Posté le 25-10-2004 à 23:38:26
crazyjoke a écrit : Voila le code !
|
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
Marsh Posté le 25-10-2004 à 23:40:27
c'est quoi la méthode, le constructeur ?? je suis nouveau en fait en php !
Marsh Posté le 25-10-2004 à 23:41:32
Si elles sont pas en global on ne les voit pas dans la classe ?
Marsh Posté le 25-10-2004 à 23:45:15
bha non comme dans les fonctions...
mais les passer au constructeur est mieux niveau POO
Marsh Posté le 26-10-2004 à 00:05:01
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 :
|
Marsh Posté le 26-10-2004 à 00:06:51
Euh meme en mettant dans mon fichier de config :
global $hostname, $username, $password, $database;
ca ne marche pas
Marsh Posté le 26-10-2004 à 00:08:44
Laisse tomber j'avais rien compris a la syntaxe de global !!
Marsh Posté le 26-10-2004 à 00:22:48
Dites quand j'envoi des cookies en php, la page qui les envoie n'y a pas accès directement par $_COOKIE ?
Marsh Posté le 26-10-2004 à 00:30:37
crazyjoke a écrit : Euh meme en mettant dans mon fichier de config : |
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
Marsh Posté le 25-10-2004 à 22:55:04
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 !