J'essaie d'utiliser la bibliothèque php SwiftMailer avec un programme que j'ai écrit. J'ai utilisé la fonction spl_autoload_register() juste avant d'inclure cette bibliothèque. Cependant, avant d'utiliser cette bibliothèque que je définir explicitement les extensions de classe et les emplacements en utilisant les fonctions: splspl_autoload_register n'initialise pas la pile de chargement automatique
set_include_path(get_include_path().[my include path]);
spl_autoload_extensions('.class.php');
spl_autoload_register();
session_start();
Le problème que je suis en cours d'exécution dans, est que maintenant je suis en train d'utiliser une bibliothèque qui ne fonctionne pas suivez les mêmes conventions de nommage. Leur propre classe de chargement automatique (créée par l'appel initial à la bibliothèque) ressemble à ceci.
public static function autoload($class)
{
//Don't interfere with other autoloaders
if (0 !== strpos($class, 'Swift_'))
{
return;
}
$path = dirname(__FILE__).'/'.str_replace('_', '/', $class).'.php';
if (!file_exists($path))
{
return;
}
if (self::$initPath && !self::$initialized)
{
self::$initialized = true;
require self::$initPath;
}
require $path;
}
Lorsque je tente de lancer simplement le programme après avoir appelé leur classe je reçois:
Fatal error: spl_autoload() [<a href='function.spl-autoload'>
function.spl-autoload</a>]:Class Swift_MailTransport could not
be loaded in [my file] on line 30
Ligne 30:
$transport = Swift_MailTransport::newInstance();
J'ai essayé d'utiliser une coutume la classe autoload modélisée après la leur, cependant, tout ce que je reçois quand j'essaye:
var_dump(spl_autoload_functions());
résultats:
bool(false);
Je sais que cela doit être une question assez simple, quelque chose que je suis avec vue, mais je ne peux pas le trouver.
Toute aide serait grandement appréciée.
Est-ce que cela empêche vraiment d'ajouter plus de rappels automatiques? – hakre