2013-09-04 2 views
0

Il semble que le SDK AWS pour PHP remplace la fonction __autoload(). Les classes non déclarées sont introuvables après l'inclusion du kit AWS SDK. ClassA() existe dans ma fonction __autoload() mais le code ci-dessus donne l'erreur ci-dessous.Le SDK Amazon remplace l'autoloader

Fatal error: Class 'ClassA' not found in /path/classa.php on line 2

Suppression de require_once ("AWSSDKforPHP/aws.phar"); ne me donne pas cette erreur. C'est le SDK que j'utilise installé via PEAR: https://github.com/aws/aws-sdk-php Y at-il une solution à cela?

Répondre

0

Après

require_once("AWSSDKforPHP/aws.phar"); 

réinitialiser le chargeur automatique de retour à spl_autoload et ajoutez le chargeur automatique en utilisant AWS spl_autoload_register

require_once("AWSSDKforPHP/aws.phar"); 
__autoload('spl_autoload'); 
spl_autoload_register(/* whatever you find AWS registers */); 
+0

Il semble que j'ai fait une erreur. C'était l'ancien SDK AWS pour PHP qui utilisait spl_autoload_register(). Le nouveau SDK Je ne sais pas comment cela fonctionne: https://github.com/aws/aws-sdk-php – musse1

+0

Les deux utilisent spl_autoload_register, car c'est la meilleure pratique. –

0

Vous ne devriez jamais, jamais utiliser __autoload(). Vous devriez toujours, toujours utiliser spl_autoload_register() car il est empilable.

Questions connexes