我正在创建一个使用facebook php sdk的应用程序,它需要一些配置:
require_once("facebook.php");
$config = array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
'fileUpload' => false, // optional
'allowSignedRequest' => false, // optional, but should be set to false for non-canvas apps
);
$facebook = new Facebook($config);
我在哪里放置这个以便在模型和控制器中使用$facebook
?
答案 0 :(得分:4)
在这种情况下,您最好使用Laravel IoC容器。
创建服务提供商
<?php
require_once("facebook.php");
use Illuminate\Support\ServiceProvider;
class FacebookServiceProvider extends ServiceProvider {
public function register()
{
$app = $this->app;
$app->bind('facebook', function()
{
$config = array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
'fileUpload' => false, // optional
'allowSignedRequest' => false, // optional, but should be set to false for non-canvas apps
);
return new Facebook($config);
});
}
}
将其添加到您的app / config / app.php
'FacebookServiceProvider',
现在,在您的应用程序的任何位置,您都可以通过以下方式访问它:
App::make('facebook')->whateverMethod();
如果只需要实例化一次,可以使用单例:
$app->singleton('facebook', function()
{
....
}
答案 1 :(得分:0)
您可以将它放在app / controllers / BaseController.php中 但是我不建议在你的模型中使用它,它们应该严格地仅以编程方式表示数据。