需要帮助从 Laravel 5 应用引用 PECL OAuth

Need help referencing PECL OAuth from a Laravel 5 app

我有一个 Laravel 5 应用程序,我正在其中构建自定义 OAuth 界面。一切正常,但我不知道如何引用安装在服务器上的 PECL OAuth 包。我敢肯定它很简单,但我无法弄清楚,而且 Google 奇怪的是没有太大帮助。

我有这行代码:

$oauth = new OAuth($ConsumerKey, $ConsumerSecret);

在 Laravel 之外时,它工作完美,引用 PHP 包。但是在 Laravel 中,它找不到 class - 因为它不是应用程序的一部分。

有人可以帮忙吗?

PHP 向您发送的确切错误是什么?我问是因为 pecl 扩展使函数和 classes 在 PHP 级别上可用——用户级框架(Laravel、Symfony 等)应该无关紧要您正在使用 -- 只要使用相同的 PHP binary/web-server-extension,您就可以访问 pecl 提供的功能和 classes.

我的猜测是,如果您尝试在命名空间文件中使用 global class OAuth

namespace App\Some\Namespace;
//...
$object = new OAuth;

当你这样做时,你是在告诉 PHP 你想要 class OAuth 相同的命名空间 中。即,全名 App\Some\Namespace\OAuth 的 class。要告诉 PHP 你想要全局级别 class OAuth,要么引用带有命名空间前缀字符 class 的名称

$object = new \OAuth;

或使用 use 语句导入全局 OAuth class。

namespace App\Some\Namespace;
use OAuth;   //confusingly, the `use` statement assumes a global namespace, no prefix needed
//...
$object = new OAuth;