我正在尝试向 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/