Pb include

cacahouette -  
 cacahouette -
Bonjour,

J'ai un script yyy.inc.php avec des fonctions dedans, jusque là pas trop de probleme.

Ces fonctions doivent aller à divers endroit dans un script ooo.class.php.

En mettant des include(yyy.inc.php) comment dire à mes differentes fonctions qui sont dans yyy.inc.php de ne pas toutes s'inserer au meme endroit?

de plus si j'ai un include ai je besoin d'un class ... extends....
et ai je besoin de require() ?

27 réponses

cddu33 Messages postés 1349 Statut Membre 256
 
essay de remplace include par require_once
0
justoo76 Messages postés 203 Statut Membre 13
 
Bonjour,

Bah moi j'utiliserai un require("yyy.inc.php"); , puis t'appel tes fonctions dans e script ,quand tu le souhaite...
0
cacahouette
 
D'accord mais ce que je ne comprend pas c'est où placer require_once, et est ce que c'est gênant si je n'ai pas de class? et est ce que si je veux que telle fonction dans mon .inc.php s'insère entre la ligne 9 et 11 et que telle autre s'insère entre la ligne 15 et 16 ça va le faire?
0
cddu33 Messages postés 1349 Statut Membre 256
 
tu place require ou require_once en début de fichier et tu appelle tes fonction comme sa:
mafonction();
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cacahouette
 
Ouai mais alors le but c'est que je n'ai pas a aller trop bidouiller les scripts où j'insere mes fonctions, enfin ça dois se faire automatiquement... et puis si je fais un require_once en debut de fichier sur un script contenant 5 fonctions
apres à chaque endroit où jveux placer mmes fonctions donc dans un autre script il faut que je fasse mafonction1(); mafonction2(); ... et je met rien dedans?

Parce que je me disais qu'avec un include c'etait plus simple juste le include à mettre aux bonnes lignes mais je ne sais pas trop où si j'appelle le meme include 5 fois ils va me faire toutes les fonctions et c'est pas ce que je veux, je veux juste executer une fonction d'un script à un endroit d'un autre script.

Et je croyais que les require_once ne marchait qu'avec des class...?
0
cddu33 Messages postés 1349 Statut Membre 256
 
tu me dans"()" les variable que ta fonction a besoin pour fonctionner
0
cacahouette
 
d'accord je vais essayer ça alors merci
0
cacahouette
 
Une petite question parce que tout ne marche pas comme il faut:
quand on appel la fonction on met

function mafonction($blalbla);

?? parce que ça ne marche pas....
0
cddu33 Messages postés 1349 Statut Membre 256
 
0
cacahouette
 
ba ouai mais ça veut dire qu'on peut pas avoir plusieures fonctions dans une page qui vont dans plusieurs page differentes...

dans chacune de mes pages j'ai mit des require-once(../../ect...);
et a l'endroit ou je voulait mettre ma fonction j'ai mit function mafonction(); mais sur le site que tu as mit ils disent "on appelle la page contenant la fonction" donc on ne peut pas faire une page qui dispatche ses fonctions dans plusieures pages?
0
xMiLeY Messages postés 73 Statut Membre 7
 
Non tu met toutes tes fonctions dans un fichier, et tu appelle ce fichier dans chaque fichier dans lequel tu vas vouloir utiliser une ou plusieurs fonctions
0
cacahouette
 
ah désolé apres avoir lu cinq fois l'exemple j'ai compris jvais voir si ça marche
0
Breub62 Messages postés 3452 Statut Membre 369
 
Le fait de faire un include(yyy.inc.php) rends tes fonctions disponibles dans ton script ooo.class.php. A toi, après, de les appeler à l'endroit souhaité (nom_de_ta_fonction(param1,param2,...);).

Voilà si j'ai bien compris le pb :)
0
cacahouette
 
ah ok ba si j'arrive pas avec les require je testerais ton truc merci et vu que j'ai rien a rentrer dans mes parametres je met quoi?
0
xMiLeY Messages postés 73 Statut Membre 7
 
rien, des parenthèses vides maFonction();
0
cacahouette
 
bon j'ai mon require_once(..../....)

j'ai ma fonction

posée telle quelle

getTestSuite();

et ça me met une erreur à la ligne correspondant a la fonction

Parse error: parse error, expecting 'T_FUNCTION' in C:\wamp\www\testlink-1.9beta4\lib\functions\testproject.class.php on line 1344

J'ai rien mit dans en parametre parce que je ne voulait pas remplir les champs et que apparement on ne doit pas mettre les $var ect..
0
justoo76 Messages postés 203 Statut Membre 13
 
Tu peux pas mettre des exemple précis ? genre ton require_once, on sait pas ce qu'il y a dedans..

Je crois que se serai mieux pour tout le monde si tu ous mettais des bout de codes...
0
cacahouette
 
dans mon fichier .class.php j'ai

require_once ('../../package/package2.php');

ensuite j'ai des fonctions puis

getTestSuite();

qui est une fonction qui est dans package2.php

function getTestSuite($testproject_id, $id = null){
$sql = "SELECT * FROM nodes_hierarchy WHERE node_type_id = 2 AND parent_id = " . $testproject_id;

if (!is_null($id))
$sql .= " AND id=" . $id;

$sql .= " ORDER BY name";

return $this->db->get_recordset($sql);
}
0
justoo76 Messages postés 203 Statut Membre 13
 
Quand tu a définis ta fonction getTestSuites, elle prend deux paramètres ( je suppose de type int) donc quand tu l'appel, tu doit spécifier les deux paramètres :

getTestSuite($param1,$param2);

Que tu a biensûr, instancier avant
0
cacahouette
 
ah non j'ai rien instancier nul part, du coup je met des int ... dans package2.php avant mes fonctions?
0
xMiLeY Messages postés 73 Statut Membre 7
 
Non ta définition de fonction dans package2 prend 2 paramètres : $testproject_id et $id

donc quand tu appelle ta fonction tu dis getTestSuite(1,2) par exemple , 1 qui va etre la valeur de $testproject_id et 2 la valeur de id même si la en l'occurence $id est null.
0
cacahouette
 
et je suis obliger de mettre quelque chose en paramètres? parce que je ne veux pas que ça rentre les valeurs en brut...
0
Breub62 Messages postés 3452 Statut Membre 369
 
Si tu ne veux pas de paramètres il faut redéfinir ta fonction sans mettre de paramètres.
0