Cakephp ne trouve pas les classe de Facebook

Par lakamark, il y a 11 ans


Bonjour,
Je le sais que un sujet à été écrit et j'ai essayer de suivre les étape et cakephp ne trouve pas les classe :

use Facebook\FacebookRedirectLoginHelper; use Facebook\FacebookRequest; use Facebook\FacebookSession;

Il me retoune une erreur qui ne trouve pas ces classe.
Pas de problème j'ai demander à cakephp de charger l'autoloader que j'ai généré avec composer.

Je les mis dans mon AppController de mon application pour qui soit accessible partout :

public function beforeFilter(){ parent::beforeFilter(); require_once dirname(__DIR__) . '/Vendor/autoload.php'; }

Je pense que ça vient du namespace. Mon dosseir cakephp s'appelle MusicalityMaker

namespace MusicalityMaker\Facebook;

L'erreur est toujours présente.

Tant que j'ai pas réussit à charger les classe de Facebook je suis bloquer et je ne peut pas aller plus loin.
voici le lien du sujet en question :
http://www.grafikart.fr/forum/topics/15143

Les classe de Facebook :
Dans le dossier app/vendor/

Merci.

Tout mes sympatie de ce qui est arriver en France.

4 réponses

Romano83, il y a 11 ans

Bonjour,
j'ai eu le même problème que toi pour une autre librairie qui utilisait des namespaces.
La solution que j'ai trouvé a été de modifier le fichier bootstrap.php en mettant ceci au tout début du fichier :

// Charger l'autoload de composer. require APP . 'Vendor/autoload.php'; // Retire et réajoute l'autoloader de CakePHP puisque Composer pense que // c'est le plus important. spl_autoload_unregister(array('App', 'load')); spl_autoload_register(array('App', 'load'), true, true); spl_autoload_register(function($class) { foreach(App::path('Vendor') as $base) { $path = $base . str_replace('\\', DS, $class) . '.php'; if (file_exists($path)) { return include $path; } } });

Ensuite, tu charge tes classes comme d'habitude.
Par contre, si tu utilise CakePHP 3.0, je n'ai pas de solution directe à te proposer...

amethyste, il y a 11 ans

Quelle version de cakephp ? tu as fait un composer install ?

lakamark, il y a 11 ans

J'utilise la version : 2.6.0 de cakephp