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 !