php - 为什么我找不到类(class)? (Laravel, PHP)

标签 php laravel laravel-4 namespaces service-provider

我正在尝试向 ServiceProvider 中的 register 方法添加绑定(bind),但我不断收到此错误:

{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'MyApp\\Providers\\App' not found","file":"\/Users\/foobar\/Dropbox\/Staff Folders\/foobar\/htdocs\/bla\/test\/app\/MyApp\/Providers\/TestServiceProvider.php","line":14}}

Composer .json:
"psr-0": {
   "MyApp": "app/"
 }

应用程序/MyApp/TestServiceProvider.php:
<?php namespace MyApp\Providers;

use Illuminate\Support\ServiceProvider;

class TestServiceProvider extends ServiceProvider {

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        App::bind('payment', function()
        {
            return new \app\MyApp\Providers\Payment;
        });
    }
}
?>

应用程序/我的应用程序/Payment.php:
<?php namespace MyApp\Providers;

class Payment{

    public function process()
    {
        //
    }

}


?>

我如何让这个工作?

最佳答案

您的 Payment类绑定(bind)应该返回这个:

return new \MyApp\Providers\Payment;

命名空间不反射(reflect)整个目录路径,因此您不需要包含 \app .您已经添加 "MyApp": "app/"到 PSR-0 规则来映射它。

关于php - 为什么我找不到类(class)? (Laravel, PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26806602/

相关文章:

laravel-4 - Laravel 邮件监听器(发送前 - 能够取消)

php - 将所有请求重定向到 index.html 除了请求到/api 文件夹

php - 自定义实体与扩展实体一对一关联

生产中的 Laravel TokenMismatchError(登录)

laravel - 如何在 Laravel 6 中使用 Font Awesome 5 图标

php - 同一个表单如何向多个表提交数据

php - 在 Laravel 的 Eloquent 中删除额外的枢轴对象

php - 在 PHPMyAdmin 中收到 MySQL 错误

php - 导航菜单在 CodeIgniter 中无法正常工作

php - Laravel 5.7 + Spatie 权限 + JWT 授权