【问题标题】:php class not found fatal errorphp 类未找到致命错误
【发布时间】:2016-11-03 11:06:54
【问题描述】:

我们已经用 php 5.6 实现了 Facebook 登录,出现 Class not found 致命错误。

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

请告诉我为什么找不到类。

*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安装的

【问题讨论】:

    标签: php facebook class object


    【解决方案1】:

    问题与命名空间有关。假设您的 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

    【讨论】:

      【解决方案2】:

      $_SERVER['DOCUMENT_ROOT']

      目录名(____FILENAME__)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-08
        • 1970-01-01
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 2015-03-20
        • 1970-01-01
        相关资源
        最近更新 更多