我正在使用FOSUserBundle与FOSFacebookBundle的示例。在此之后,我构建了我的应用程序。如何包含Facebook-SDK
相关的项目结构就像是以下几点:FacebookProvider的
src\ABC\MainBundle\
src\ABC\UserBundle\
src\ABC\MainBundle\Controller\DefaultController.php
src\ABC\UserBundle\Security\User\Provider\FacebookProvider.php
vendor\facebook\php-sdk\src\base_facebook.php
部分:
use \BaseFacebook;
use \FacebookApiException;
class FacebookProvider implements UserProviderInterface
{
protected $facebook;
public function __construct(BaseFacebook $facebook, $userManager, $validator)
{
$this->facebook = $facebook;
}
public function loadUserByUsername($username)
{
try {
$fbdata = $this->facebook->api('/me');
...
正如你可以看到已经有可用的Facebook的对象。 我想现在做的是几乎相同的,但在我DefaultController:
use \BaseFacebook;
use \FacebookApiException;
class DefaultController extends BaseController
{
public function indexAction(){
$facebook = new Facebook('key', 'secret');
$fbfriends_obj = $facebook->api('/'.$fbid.'/friends');
...
但我得到的消息
Fatal error: Class 'ABC\MainBundle\Controller\Facebook' not found in C:\xampp\htdocs\...\src\ABC\MainBundle\Controller\DefaultController.php on line x
这是为什么?我如何从defaultcontroller中访问facebook-class?如果它已经可以为facebook供应商,为什么它不可能我的控制器?
任何提示将非常感激!