我在类文件夹 (\App\Classes
) 中添加了一个自定义类 invoice.php
。
当使用 Controller 功能时,我无法执行静态功能,说找不到类。我有命名空间并像任何其他类一样使用设置,类似于 Helpers.php
。
类:
<?php namespace App\Classes;
class invoice {
//
}
?>
Controller :
<?php namespace App\Http\Controllers;
use App\Classes\invoice;
class CustomerController extends Controller {
//
}
?>
错误:
FatalErrorException in CustomerController.php line 284:
Class 'App\Http\Controllers\invoice' not found
我已经被困在这里两个小时了,我不明白我做错了什么。 Composer 使用的是 psr-4 并且 Helpers.php 文件工作正常,但我的自定义类文件没有。
谢谢
最佳答案
要遵循 PSR-4,你需要让你的类名首字母大写。这里的“i”应该大写:
<?php namespace App\Classes;
class Invoice {
//
}
同时修复您的使用
。然后,当在 Controller 中使用 Invoice
时,它会选择正确的命名空间以用于解析该类。当前发生的情况是它没有在您的 use
部分中找到匹配的引用,因此它假定它位于调用它的 Controller 类的同一命名空间中。
关于php - 找不到 Laravel 5 类,使用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30386880/