// +---------------------------------------------------------------------------------------+ // © 2002-2005 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net) // +---------------------------------------------------------------------------------------+ // $Id: includes.txt,v 1.2 2005-05-12 08:08:08 gautier Exp $ AIDE POUR LES DEVELOPPEURS *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Ce fichier aborde deux points importants de programmation : Inlude/require Minimum nécessaire *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Problème des inlude/require : include génère un warning si fichier inaccessible require génère une erreur IL FAUT DONC UTILISER require. ------------------------------ require inclus et parse le fichier require_once inclus et parse si ça n'a pas encore été fait, autrement dit : require_once ("fichier avec fonctions ou classes dedans.php"); require_once ("fichier avec fonctions ou classes dedans.php"); ne posera aucun problème là où : require ("fichier avec fonctions ou classes dedans.php"); require ("fichier avec fonctions ou classes dedans.php"); va vous faire une erreur de cannot redeclare .... IL FAUT DONC UTILISER require_once ---------------------------------- Les chemins et tout le nécessaire sont paramétrés dans includes/init.inc.php Vous devez donc écrire en début de chacun de vos fichiers racines (celui que vous voyez dans l'url) : // définition du minimum nécéssaire $base_path="."; $base_auth = "ADMINISTRATION_AUTH"; $base_title = "\$msg[7]"; require_once ("$base_path/includes/init.inc.php"); // les requis par toto.php ou ses sous modules ... Si vous n'êtes pas à la racine de PMB/ : // définition du minimum nécéssaire $base_path="../.."; $base_auth = "ADMINISTRATION_AUTH"; $base_title = ""; require_once ("$base_path/includes/init.inc.php"); // les requis par toto.php ou ses sous modules require_once("$include_path/tot.inc.php"); Avec cette façon d'inclure : Vous n'avez plus à vous soucier du chemin d'accès, faites simplement : require_once("$class_path/ma_classe.inc.php"); Vos classes ainsi développées deviendront accessible en dehors de la racine ! Si, par le truchement des inclusions, il y a plusieurs require_once au même fichier, vous ne sortirez pas en carafe ! *-*-*-*-* Tiré de includes/init.inc.php *-*-*-*-*-*-*- // Cet include permet de réduire considérablement les trucs à mettre au départ d'un script // Six paramêtres à fournir en fixant les valeurs avant l'include de ce fichier // $base_path="../.."; par ex : = chemin pour accéder à la racine de l'applic PMB // $base_auth = "SAUV_AUTH|ADMINISTRATION_AUTH"; les droits du user à tester // $base_title = "Titre de la fenêtre"; le titre de la page : facultatif // si besoin d'une variable : $base_title = "\$msg[28]"; // $base_noheader = 0; par défaut, pas obligatoire, si non vide : pas d'envoi du début de page (header & co) // $base_nocheck = 0; par défaut, pas obligatoire : si non vide : pas de checkuser ( session, droits ) // $base_nobody = 0; par défaut, pas obligatoire : si non vide : pas de après le header envoyé // // l'exemple ci-dessus correspond à l'inclusion dans le fichier : admin/sauvegarde/launch.php : // $base_path="../.."; // $base_auth = "SAUV_AUTH|ADMINISTRATION_AUTH"; // $base_title = "Lancement d'une sauvegarde"; // require_once ("$base_path/includes/init.inc.php"); // l'exemple ci-dessus correspond à l'inclusion dans le fichier : catalog/z3950/z_progession_main.php : // J'ai besoin du header mais pas du à cause des frames // $base_path="../.."; // $base_auth = "CIRCULATION_AUTH"; // $base_title = ""; // $base_nobody = 1; // require_once ("$base_path/includes/init.inc.php");