我有一个自定义类,我在Classes文件夹(invoice.php
)中添加了类\App\Classes
。
当使用控制器功能时,我无法执行静态功能,表示未找到Class。我有名称空间和使用设置像任何其他类,类似于Helpers.php
。
类别:
<?php namespace App\Classes;
class invoice {
//
}
?>
控制器:
<?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文件工作正常,但我的自定义类文件没有。
由于
答案 0 :(得分:3)
要关注PSR-4,您需要将您的班级名称设为初始上限。 &#34;我&#34;应该在这里大写:
<?php namespace App\Classes;
class Invoice {
//
}
同时修复您的use
。然后,当您在控制器中使用Invoice
时,它将获取用于解析该类的正确名称空间。目前发生的事情是它没有在use
部分中找到匹配的引用,因此它假定它位于调用它的控制器类的相同名称空间中。