我正在尝试使用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
答案 0 :(得分:6)
首先,App::uses()
的工作原理并非如此。需要先注册自定义路径/包,请参阅 CakePHP: Unable to load class from custom package
同样,Lib
文件夹用于存放第一方库,第三方库(如Facebook SDK)应该进入Vendor
文件夹。
另请参阅 Cookbook > CakePHP Folder Structure
如果您无法使用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');