【问题标题】:Need help referencing PECL OAuth from a Laravel 5 app需要帮助从 Laravel 5 应用程序引用 PECL OAuth
【发布时间】:2015-07-10 12:18:52
【问题描述】:

我有一个 Laravel 5 应用程序,我正在其中构建自定义 OAuth 接口。一切运行良好,但我不知道如何引用安装在服务器上的 PECL OAuth 包。我敢肯定这很简单,但我想不通,而且奇怪的是,Google 并没有提供多大帮助。

我有这行代码:

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

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

谁能帮忙?

【问题讨论】:

    标签: php laravel oauth laravel-5


    【解决方案1】:

    PHP 发送给您的确切错误是什么?我问是因为pecl 扩展使函数和类在 PHP 级别上可用——你使用的用户级框架(Laravel、Symfony 等)无关紧要——只要相同的 PHP 二进制/Web使用-server-extension,您将可以访问pecl 提供的函数和类。

    我猜你是否尝试在命名空间文件中使用 globalOAuth

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

    当您这样做时,您是在告诉 PHP 您希望在 相同的命名空间 中使用 OAuth 类。即全名App\Some\Namespace\OAuth的类。要告诉 PHP 你想要全局级别的类 OAuth,请使用命名空间前缀字符引用类名

    $object = new \OAuth;
    

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

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

    【讨论】:

    • 这就是我要找的!!谢谢你。我不明白全局命名空间的事情,现在我明白了。我将 use 语句添加为“使用 OAuth”,它可以工作。完美!
    猜你喜欢
    • 2020-12-18
    • 1970-01-01
    • 2012-07-15
    • 2011-01-20
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    相关资源
    最近更新 更多