伙计们,我正在尝试使用这个新的Facebook SDK for PHP,允许用户在Facebook上使用他们的个人资料登录我的网站
我的网站正在使用PHP框架CodeIgniter,但我无法加载FacebookSession类。
遵循此http://metah.ch/blog/2014/05/facebook-sdk-4-0-0-for-php-a-working-sample-to-get-started/和此https://developers.facebook.com/docs/php/gettingstarted/4.0.0教程
它一直在说致命错误:找不到类'FacebookSession',然后我试图将此代码移出Code Igniter而我无法使其工作
我开始尝试使用'require_once'来导入类,但它也失败了!这就是我在一个简单的php文件(2行)中的全部内容:
require_once('src/Facebook/FacebookSession.php');
FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');
它找到了文件,大概是导入它(我把一些'echo'放在里面然后打印消息)但是在第二行失败了
我尝试使用SDK附带的autoload.php,但在这种情况下它会在脚本中间返回:
// does the class use the namespace prefix?
$len = strlen($prefix);
if (strncmp($prefix, $class, $len) !== 0) {
// no, move to the next registered autoloader
return;
}
为什么我无法导入此文件?它可能与命名空间,别名等有关,对吧?你能帮助我吗?
答案 0 :(得分:0)
您的教程包含以下内容:
use Facebook\FacebookSession;
这允许您使用FacebookSession::something()
而不必写出完整的命名空间函数Facebook\FacebookSession::something()
。
添加use
行,事情就行了。
答案 1 :(得分:0)
而不是这个
FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');
试试这个
Facebook\FacebookSession::setDefaultApplication('YOUR_APP_ID', 'YOUR_APP_SECRET');
如果有效,则使用“Facebook”作为每个Facebook类的前缀。