8 php yii facebook-php-sdk facebook-login
我已将Facebook SDK文件放入protected/helpers目录中,我从中为我的Yii应用程序自动加载类和第三方帮助程序.
当我的一个项目涉及Facebook登录时,我想出了这个简单快速的解决方案,使用它Yii::app()->params来实现整个应用程序中对象属性的继承.
// don't mind this $facebook variable, it's just a shortcut in this method
Yii::app()->params['facebook'] = $facebook = new Facebook(array(
'appId' => '148966221932337',
'secret' => 'a52ce7b4a0cd5d517c6ada53fc77cde7',
'cookie' => true,
));
$user = $facebook->getUser();
Run Code Online (Sandbox Code Playgroud)
因此,我在Yii::app()->params['facebook']整个应用程序中都可以使用,设置或取消设置,这样我就可以在我的应用程序中访问Facebook API SDK,但我确实相信这不是一个好的解决方案.
有没有更好的解决方案将Facebook API SDK应用到Yii框架应用程序中?
雅.下载Facebook SDK文件并将其保存在protected/components/Facebook中,然后编辑您的config/main.php
'import'=>array( //autoloading model and component classes
'application.models.*',
'application.components.*',
'application.components.Facebook.*',
),
Run Code Online (Sandbox Code Playgroud)
并在您的参数中添加appid和密钥
'params'=>array(
'Facebook'=>array(
'appId' => '148966221932337',
'secret' => 'a52ce7b4a0cd5d517c6ada53fc77cde7',
'cookie' => true,
),
);
Run Code Online (Sandbox Code Playgroud)
在您的页面中,您可以像这样调用您的Facebook SDK
$facebook = new Facebook(Yii::app()->params['Facebook']);
$user_id = $facebook->getUser();
Run Code Online (Sandbox Code Playgroud)
谢谢.
我总是尝试将配置变量存储在数据库中。特别是当它们涉及密钥时。我会使用 Yii 的 crypt 功能并将其存储在数据库中。然后我会围绕检索配置变量创建模型。
其次,就实际连接工作以及您拥有的内容而言,我会将其作为扩展 CApplicationComponent 的组件,并将文件放置在扩展目录或组件目录中。如果你想让它成为一个真正的对象。我认为助手的想法只是一组松散的函数,我主要使用助手来进行数组和字符串工作。