我在cakephp 2.6.2版本中使用cakephp auth组件创建了一个应用程序,现在我还使用facebook sdk实现登录facebook,我试着关注这篇文章How do I integrate Facebook SDK login with cakephp 2.x?,为此我已经下载了facebook-php-sdk-v4,但是当我使用句子时
App::import('Vendor', 'facebook-php-sdk-v4-5.0-dev/src/Facebook');
然后调用Facebook类,我有错误
Fatal error: Class 'Facebook' not found in C:\xampp\htdocs\exampleApp\app\Controller\AppController.php on line 34
我在exampleApp \ app \ Vendor中复制了facebook SDK 该文件夹名为facebook-php-sdk-v4-5.0-dev
我的appControll在这里
<?php
App::uses('Controller', 'Controller');
App::import('Vendor', 'facebook-php-sdk-v4-5.0-dev/src/Facebook');
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array(
'controller' => 'home',
'action' => 'Page'
),
'logoutRedirect' => array(
'controller' => 'users',
'action' => 'login'
),
'authenticate' => array(
'Form' => array(
'passwordHasher' => 'Blowfish'
)
),
'authorize' => array('Controller'),
'authError' => false
)
);
public function beforeFilter(){
$this->Facebook = new Facebook(array(
'appId' => 'App_ID_of_facebook',
'secret' => 'App_Secret'
));
$this->layout = 'bootstrap';
$this->Auth->allow(
'login',
'logout'
);
$this->set('current_user', $this->Auth->user());
}
public function isAuthorized($user)
{
if(isset($user['role_id']) && $user['role_id'] === '1')
{
return true;
}
return false;
}
}
?>
问题尤其在于
$this->Facebook = new Facebook(array(
'appId' => 'App_ID_of_facebook',
'secret' => 'App_Secret'
));
在这里返回致命错误:Class&#39; Facebook&#39;找不到
非常感谢任何可以帮助我的人
答案 0 :(得分:0)
问题是该类&#34;供应商/ facebook-php-sdk-v4-5.0-dev / src / Facebook / Facebok.php&#34;有&#34;命名空间Facebook&#34;因此,我的项目范围不同,因此解决方案是删除&#34;命名空间Facebook&#34;