J'ai un peu approfondi le pb 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 sont paramétrés dans includes/config.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
include ("./includes/error_report.inc.php") ;
include ("./includes/global_vars.inc.php") ;
include ("./includes/config.inc.php");
 
 
Si vous n'êtes pas à la racine de PMB/ :
Adapter les chemins :
// définition du minimum nécéssaire
include ("../../includes/error_report.inc.php") ;
include ("../../includes/global_vars.inc.php") ;
include ("../../includes/config.inc.php");
Ajouter :
$include_path      = "../../".$include_path;
$class_path        = "../../".$class_path;
$_javascript__path   = "../../".$_javascript__path;
$styles_path       = "../../".$styles_path;
 
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 !
Je viens de passer pas mal de temps à voir tout cela dans tous les fichiers (sauf ceux de OPAC et OPAC_CSS, Gautier va m'en vouloir mais comme c'est en pleine refonte...), des erreurs peuvent subsister, j'au testé mais certainement pas tout, n'hésitez pas à me faire le plus tôt possible de ces erreurs, il ne faudrait pas sortir une release avec pb résiduels liés à ces changements.
 
 
 

Répondre à