php类未找到致命错误

时间:2016-11-03 11:06:55

标签: php facebook class object

我们已经使用php 5.6实现了Facebook登录,未发现Class致命错误。

现在,我在本地开发环境中运行它,但是在我收到错误时遇到了一个问题。

请告诉我为什么找不到课程。

* fb_sighup.php         

require_once($_SERVER['DOCUMENT_ROOT'] . '/config/fb_login_config.php');

$fblogin = new MyApp\Facebooklogin(); //error occured

try {
  $fblogin->sighup();
} catch (Exception $e) {
  echo $e->getMessage();
  exit;
}
?>

* Facebooklogin课程     

 class Facebooklogin {
  private $_fb;

  public function __construct() {
    $this->_fb = new \Facebook\Facebook([
      'app_id' => APP_ID,
      'app_secret' => APP_SECRET,
      'default_graph_version' => APP_VERSION,
    ]);
  }

  public function sighup() {
    $helper = $this->_fb->getRedirectLoginHelper();

    $loginUrl = $helper->getLoginUrl(CALLBACK_URL);
    header('Location: ' . $loginUrl);
    exit;
  }
}//class facebooklogin
?>

此外,FacebookSDK是通过composer.json安装的

2 个答案:

答案 0 :(得分:0)

$ _ SERVER [ 'DOCUMENT_ROOT']

目录名(____ FILENAME __)

答案 1 :(得分:0)

问题与命名空间有关。假设您的Facebooklogin类的代码已经完成。

这里有2个选项。您可以通过更改

删除针对Facebooklogin类的煽动的命名空间
$fblogin = new MyApp\Facebooklogin();

$fblogin = new Facebooklogin();

或者您可以在

中添加命名空间
namespace MyApp {
    class Facebooklogin {
        ....
    }
}

在调用代码中

use MyApp;

$fblogin = new MyApp\Facebooklogin();

我发现此Stackoverflow问题和答案可能会有所帮助Cannot find Class with PHP Namespace