2013-03-07 7 views
8

मैं protected/helpers निर्देशिका, जिसमें से मैं अपने Yii आवेदन के लिए कक्षाओं और 3 पार्टी सहायकों AutoLoad में फेसबुक एसडीके फ़ाइलें डाल दिया है में फेसबुक पीएचपी SDK लागू करने।सबसे अच्छा तरीका है Yii फ्रेमवर्क

जब मेरी परियोजनाओं में से एक ने फेसबुक लॉगिन शामिल किया था, तो मैं 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(); 

इस प्रकार, मैं, Yii::app()->params['facebook'] है सेट है या सेट, अपने आवेदन भर में और इस तरह मैं जहाँ भी अपने आवेदन में, फिर भी मैं belive है कि यह एक अच्छा समाधान नहीं है फेसबुक एपीआई एसडीके का उपयोग कर सकते में उपलब्ध है।

वहाँ रहे हैं किसी भी, बेहतर, Yii फ्रेमवर्क आवेदन में फेसबुक एपीआई एसडीके को लागू करने के लिए समाधान?

+2

उपयोग [घटक] (http://www.yiiframework.com/doc/guide/1.1/ की तरह उपयोग कर सकते हैं एन/basics.component) या जैसे कुछ एक्सटेंशन पर एक नज़र डालें, [फेसबुक-OpenGraph] (http://www.yiiframework.com/extension/facebook-opengraph) –

+0

अतीत मैं स्थापित किया है Yii-उपयोगकर्ता विस्तार में और फिर एक नया घटक बनाया जो yii-user को बढ़ाता है। आप लॉग इन टोकन स्टोर करने के लिए yii-user का लाभ उठा सकते हैं। इसके अलावा मैं अपनी ऐप कुंजी को कॉन्फ़िगर में रखता हूं। – aCodeSmith

उत्तर

0

मैं हमेशा डीबी में दुकान config चर का प्रयास करें। विशेष रूप से अगर वे एक गुप्त कुंजी शामिल हैं। मैं वाईआई की क्रिप्ट कार्यक्षमता का उपयोग करूंगा और इसे डीबी में स्टोर करूंगा। तो मैं इस तरह कॉन्फ़िगरेशन चर को पुनः प्राप्त करने के आसपास मॉडल बनाउंगा।

दूसरा जहां तक ​​वास्तविक कनेक्शन काम करता है और आप क्या हैं, मैं इसे एक घटक के रूप में रखूंगा जो CApplicationComponent को बढ़ाता है, और या तो फ़ाइल को एक्सटेंशन निर्देशिका या घटक निर्देशिका में रखता है। यदि आप इसे एक वास्तविक वस्तु बनाना चाहते हैं। मुझे लगता है कि हेल्पर्स विचार सिर्फ एक ढीला काम है, ज्यादातर मैं सरणी और स्ट्रिंग काम के लिए मददगार का उपयोग करता हूं।

6

हां। फेसबुक एसडीके फ़ाइलों को डाउनलोड और संरक्षित/घटकों में रख/फेसबुक तो

'import'=>array(  //autoloading model and component classes 
    'application.models.*', 
    'application.components.*', 
    'application.components.Facebook.*', 
), 

के साथ अपने config/main.php संपादित करने और अपने परम

'params'=>array(
    'Facebook'=>array( 
     'appId' => '148966221932337', 
     'secret' => 'a52ce7b4a0cd5d517c6ada53fc77cde7', 
     'cookie' => true, 
    ), 
); 

में APPID andsecret कुंजी जोड़ने आप कॉल कर सकते हैं आप पृष्ठ से आपका फेसबुक एसडीके इस तरह

$facebook = new Facebook(Yii::app()->params['Facebook']); 
$user_id = $facebook->getUser(); 

धन्यवाद।

0

देर से, लेकिन मैं संगीतकार के साथ फेसबुक एसडीके फाइलों को डाउनलोड करना समाप्त कर दिया, उनको स्वत: लोड कर रहा था, और एसडीके को लपेटने वाला एक फेसबुक सेवा प्रदान कर रहा था।

तो मुख्य config की तरह

'facebookService'=>array(
      'class' => 'FacebookService', 
      'appId' =>'xxxxxxxxxxx', 
      'appSecret' => 'xxxxxxxxxx', 
      'extendedAccessToken' => "xxxxxxxxxx", 
     ), 

है और आप

Yii::app()->facebookService->[method_I_defined] 
संबंधित मुद्दे