|
Bonjour,
après la découverte de quelues nouvelle fonction j'ai fais ceci :
$getClassName = array (
$template = new template ('templates/' . $tplDir . '/tpl/'),
$db = new $dbType ($dbHost, $dbUser, $dbPass, $dbName),
$session = new session (),
$form = new form ()
);
foreach ($getClassName as $className) {
if (class_exists ($className)) {
try {
$className;
}
catch(Exception $e) {
exit ($e -> getmessage());
}
}
}
unset($getClassName, $className);
ça marche bien, les classes se chargent et tout sauf que j'ai une erreur :
PHP Warning: class_exists() expects parameter 1 to be string, object given in /Users/Quentinb/Sites/index.php on line 14
Voilà ;) si vous pouviez m'éclairer... |
|
"$getClassName = array ( $template = new template ('templates/' . $tplDir . '/tpl/'), $db = new $dbType ($dbHost, $dbUser, $dbPass, $dbName), $session = new session (), $form = new form () );"
Les classes se chargent à ce moment la !
Pas pendant ton try{}catch{}. |
|
Merci, j'ai amerliore ma fonction __autoload, ci-joint le code :
<?php
/**
* Autoload Class.
*
* @author Berlemont Quentin
* @since 1.0
*/
function __autoload($class_name) {
$load_class = array(
/*
Core Object.
*/
'AbstractModelDao' => DIR_CORE . '/AbstractModelDao.class.php',
'Form' => DIR_CORE . '/Form.class.php',
'MySQL' => DIR_CORE . '/MySQL.class.php',
'VTemplate' => DIR_CORE . '/VTemplate.class.php',
/*
Model Object.
*/
'NewsModel' => DIR_MODEL . '/NewsModel.class.php',
'UserModel' => DIR_MODEL . '/UserModel.class.php',
/*
Data Access Object.
*/
'NewsModelDao' => DIR_DAO . '/NewsModelDao.class.php',
'UserModelDao' => DIR_DAO . '/UserModelDao.class.php'
);
if (file_exists($load_class[$class_name])) {
require_once($load_class[$class_name]);
}
else {
if (DEBUG_MODE === TRUE) {
exit('Aucun fichier class ' . $class_name);
}
else {
exit('probleme, contacter le webmaster');
}
}
}
?>
|