Skip to content

Instantly share code, notes, and snippets.

@nazieb
Last active December 19, 2015 16:59
Show Gist options
  • Select an option

  • Save nazieb/5988113 to your computer and use it in GitHub Desktop.

Select an option

Save nazieb/5988113 to your computer and use it in GitHub Desktop.
Facebook Facade in Laravel 4. Using Facade & Service Provider you can create a global "FB" class which you can call statically in Controllers / Routes / Views. For the example: <?php echo FB::getLoginUrl();
<?php
// app/config/app.php
'providers' => array(
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
// .....
'App\DependenciesProvider',
),
// .....
'aliases' => array(
'App' => 'Illuminate\Support\Facades\App',
// .....
'FB' => 'App\FacebookFacade',
),
"require": {
"laravel/framework": "4.0.*",
"facebook/php-sdk": "dev-master"
}
<?php namespace Facebook;
// app/libs/facebook/FacebookFacade.php
use Illuminate\Support\Facades\Facade;
class FacebookFacade extends Facade {
protected static function getFacadeAccessor() { return 'facebook'; }
}
<?php namespace Facebook;
// app/libs/facebook/FacebookProvider.php
use Illuminate\Support\ServiceProvider;
class FacebookProvider extends ServiceProvider {
/**
* Register application dependencies
*
*/
function register()
{
$this->app->singleton('facebook', function(){
return new \Facebook(array(
'appId' => \Config::get('fb.app_id'),
'secret' => \Config::get('fb.secret'),
));
});
}
}
<?php
// app/config/fb.php
return array(
'app_id' => '-- app ID --',
'secret' => '-- Secret --'
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment