[CLASS] chargement automatique
Hors ligneHametsu Le 29/01/2006 à 17:06 Profil de Hametsu Configuration de Hametsu

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...
Hors ligneAnthony Le 30/01/2006 à 10:11 Profil de Anthony Configuration de Anthony

Admin
Salut,

tu dois donner une chaîne de caractères et non un objet dans le paramètre du class_exists()
--

Hors ligneFhx Le 07/02/2006 à 01:09 Profil de Fhx Configuration de Fhx

"$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{}.
Hors ligneHametsu Le 15/02/2006 à 20:19 Profil de Hametsu Configuration de Hametsu

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');
          }
     }
}
?>
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels