Includere le Facebook PHP SDK 4.0 in Yii 1.1

da Dic 19, 2014Blog0 commenti

fb sdk mashableLe nuove librerie PHP di Facebook versione 4.x, che si intefacciano con le api 2.2, usano i namespace, funzionalità non ancora usata a pieno in Yii 1.1. Secondo le istruzioni di Facebook presenti su GitHub è sufficiente definire una costante ed includere l’autoloader dell’SDK. Questa soluzione purtroppo non va a braccetto con il loader integrato di Yii.

Esiste però un’escamotage usando gli strumenti interni di Yii. La soluzione è facilmente estendibile a qualunque altra libreria che usi i namespace ed abbia bisogno di un loader.

Scaricare ed estrarre il contenuto dell’SDK in una posizione del progetto, ad esempio protected/extensions/. Nel file dove dobbiamo usare le librerie, prima di definire la classe, aggiungere:

define(‘FACEBOOK_SDK_V4_SRC_DIR’, YiiBase::getPathOfAlias(‘ext.facebook-php-sdk-master.src.Facebook’));
Yii::setPathOfAlias(‘Facebook’, Yii::getPathOfAlias(“ext.facebook-php-sdk-master.src.Facebook”));

A questo punto l’unico accorgimento che dobbiamo seguire per richiamare le funzioni della nuova SDK è di prefissarle con il namespace Facebook

Facebook\FacebookSession::setDefaultApplication($fbAppId, $fbAppSecret);
$helper = new Facebook\FacebookRedirectLoginHelper(Yii::app()->createAbsoluteUrl(“/FacebookHandler”));
try {
  $this->_session = $helper->getSessionFromRedirect();
} catch (Facebook\FacebookRequestException $ex) {
  // return FALSE;
} catch (Exception $ex) {
  // return FALSE;
}

Et voilà, ora è possibile usare tranquillamente tutte le API dell’SDK Facebook in Yii! In questo modo si può facilmente creare un modulo o un’estensione che usi Facebook.

 

Image source: mashable.com.

Per altre informazioni visitate la sezione del nostro blog.

CREATE YOUR PROJECT

Book a free consultation

Your business is constantly evolving. Tell us about the project you have in mind, whether it's an e-commerce website or a strategic business solution.