Laravel 5 Class not found,使用命名空间

时间:2015-05-22 01:15:58

标签: php laravel laravel-5

我有一个自定义类,我在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文件工作正常,但我的自定义类文件没有。

由于

1 个答案:

答案 0 :(得分:3)

要关注PSR-4,您需要将您的班级名称设为初始上限。 &#34;我&#34;应该在这里大写:

<?php namespace App\Classes;

class Invoice {
   //
}

同时修复您的use。然后,当您在控制器中使用Invoice时,它将获取用于解析该类的正确名称空间。目前发生的事情是它没有在use部分中找到匹配的引用,因此它假定它位于调用它的控制器类的相同名称空间中。