CakePHP没有找到FacebookSession类的问题

时间:2014-07-14 18:50:22

标签: cakephp facebook-php-sdk

我正在尝试使用Facebook lib v4创建一个简单的Facebook登录。

我正在关注Facebook指南而且我一直在begning,CakePHP没有找到FacebookSession类,请按照下面的事实:

FacebookSession类路径:

App/Lib/Facebook/src/Facebook

在Controller中使用:

app::uses('FacebookSession', 'Facebook/src/Facebook');

我认为问题出现在这个特定的Facebook Lib中,因为我正在使用WideImage类,我正在应用相同的逻辑来使用Class并且工作正常。

我记录的是使用PHP 5.4

1 个答案:

答案 0 :(得分:6)

需要注册自定义路径/包

首先,App::uses()的工作原理并非如此。需要先注册自定义路径/包,请参阅 CakePHP: Unable to load class from custom package

同样,Lib文件夹用于存放第一方库,第三方库(如Facebook SDK)应该进入Vendor文件夹。

另请参阅 Cookbook > CakePHP Folder Structure

使用随SDK附带的composer或自动加载器

如果您无法使用the recommended way of including the SDK,可以使用编辑器进行安装(请务必阅读 Installing CakePHP with Composer中的注释< / strong>使用composer时),那么你必须确保包含SDK附带的autoload.php文件,这应该像在引导程序中要求它一样简单

require_once APP . 'Vendor' . DS . 'Facebook' . DS . 'autoload.php';

从那时起,您应该可以使用SDK类as shown in the docs

use Facebook\FacebookSession;

FacebookSession::setDefaultApplication('YOUR_APP_ID','YOUR_APP_SECRET');

$session = new FacebookSession('access-token');