致命错误:类';Facebook';在…中找不到。。。用Cakephp

致命错误:类';Facebook';在…中找不到。。。用Cakephp,php,facebook,cakephp,Php,Facebook,Cakephp,我无法使用cakephp 2.x导入facebook SDK。这个阶级从来就不存在。我的路线是:app/Vendor/FacebookSdk/src/Facebook/Facebook.php(选中) Mi AppController: public function beforeRender() { parent::beforeRender(); App::import('Vendor', 'Facebook', array( 'file

我无法使用cakephp 2.x导入facebook SDK。这个阶级从来就不存在。我的路线是:app/Vendor/FacebookSdk/src/Facebook/Facebook.php(选中)

Mi AppController:

public function beforeRender() {
        parent::beforeRender();
        App::import('Vendor', 'Facebook', array(
            'file' => 'FacebookSdk' . DS . 'src' . DS . 'Facebook' . DS . 'facebook.php')
        );

       if (class_exists('Facebook')) {
            if (method_exists('Facebook', 'getLoginUrl')) {
                $this->set('fb_login_url', $this->Facebook->getLoginUrl(array(
                    'scope' => array('public_profile, email, user_birthday'),
                    'redirect_uri' => Router::url(array('controller' => 'usuarios', 'action' => 'acceso_publico'), true)
                    ))
                );
            }
        }
        $this->set('userFacebook', $this->Auth->user());
        $this->Auth->allow('index', 'view', 'acceso_publico');

    }
怎么了?我看没问题


问候

在这种非标准的情况下,我发现只需要在文件中添加一次就可以了

require_once APP . 'Vendor' . DS . 'FacebookSdk' . DS . 'src' . DS . 'Facebook' . DS . 'facebook.php';
这样做还有一个额外的好处,即在找不到文件的情况下,实际上会收到一条错误消息

对于更干净的解决方案,我建议在项目中使用composer,因为它将处理自动加载这些文件。以下是说明,这需要10分钟来设置,为您节省了很多麻烦