我正在使用带有 FOSFacebookBundle 的 FOSUserBundle 示例。在此我已经构建了我的应用程序。
相关的项目结构如下:
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
FacebookProvider 的一部分:
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-Object 已经可用。我现在想要做的几乎相同,但在我的 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
这是为什么?如何从我的默认控制器内部访问 facebook 类?如果 facebookprovider 已经可以使用,为什么我的控制器无法使用?
任何提示将不胜感激!