CakePHP没有找到FacebookSession类的问题

Dan*_*ria 1 cakephp facebook-php-sdk

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

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

FacebookSession类路径:

App/Lib/Facebook/src/Facebook
Run Code Online (Sandbox Code Playgroud)

在控制器中使用:

app::uses('FacebookSession', 'Facebook/src/Facebook');
Run Code Online (Sandbox Code Playgroud)

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

为了记录,我使用的是PHP 5.4

ndm*_*ndm 6

需要注册自定义路径/包

首先,那不是如何App::uses()运作的.首先需要注册自定义路径/包,请参阅CakePHP:无法从自定义包中加载类

Lib文件夹也可用于存放第一方库,Facebook SDK等第三方库应该进入该Vendor文件夹.

另请参见Cookbook> CakePHP文件夹结构

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

如果您不想/不想使用推荐的方式来包含SDK,那就是使用composer安装它(确保您在使用composer时阅读使用Composer安装CakePHP中的注释),那么您必须制作确保包含autoload.phpSDK附带的文件,这应该像在引导程序中要求的那样简单

require_once APP . 'Vendor' . DS . 'Facebook' . DS . 'autoload.php';
Run Code Online (Sandbox Code Playgroud)

从那以后,您应该能够使用文档中显示的SDK类.

use Facebook\FacebookSession;

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

$session = new FacebookSession('access-token');
Run Code Online (Sandbox Code Playgroud)