Laravel中的自定义类在子文件夹中时如何使用?

卡利弗

在新的laravel应用中,我添加了两个自定义类。当在控制器中使用它时,一个加载正常,但是在另一个文件夹中的另一个则无法正常工作。

我将Working其中调用的工作类位于工作类app\Classes,它具有名称空间,namespace App\Classes并且在控制器中使用来命名use App\Classes\Working

我称之为的非工作类NonWorking位于app\Classes\NonWorking我尝试给它命名空间namespace App\Classesnamespace App\Classes\NonWorking我尝试从控制器中使用use App\Classes\NonWorkingand调用它use App\Classes\NonWorking\NonWorking,但出现错误Class 'App\Classes\NonWorking' not found错误Class 'App\Classes\NonWorking\NonWorking' not found

通过将NonWorking类移至Working类所在的文件夹并将命名空间设置为namespace App\Classes我已经能够使其正常运行,但是NonWorking类来自另一个存储库,应该位于其自己的文件夹中,因为它将不会另一个回购中的唯一一个。

那么,如何让Laravel了解此类的位置?

多西斯王子

Laravel使用PSR-4自动加载功能这基本上意味着您的班级应该遵循文件夹结构。

因此,如果您有类app/Classes,则它们应该具有名称空间App\Classes

因此,该文件app/Classes/Working.php将位于其顶部,namespace App\Classes;然后将其导入另一个文件,请在另一个文件中写入use App\Classes\Working;

如果你有一个类里面app/Classes/SubFolder,它应该有命名空间namespace App\Classes\SubFolder;因此,这里是一个类AmazingClass中的app/Classes/SubFolder/AmazingClass.php文件:

// app/Classes/SubFolder/AmazingClass.php

namespace App\Classes\SubFolder;

class AmazingClass
{
    //
}

让我们AmazingClass在另一个类中使用

// Some file in another namespace

namespace App\My\Random;

use App\Classes\SubFolder\AmazingClass;

// Rest of the file

加:每当您添加一个新类并且您不能使用它时,它很可能不会自动加载。运行命令

composer dump-autoload

重新自动加载类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel 在自定义文件夹中自动加载类

安装软件包时如何为供应商中的子文件夹设置自定义文件夹路径?

如何在php中显示子文件夹的自定义404错误页面?

使用 Laravel 中的自定义函数在公共文件夹中的图像上获取 404

如何使用surefire插件在自定义文件夹结构中运行测试

如何在 Android 中使用 ContentResolver 查询自定义文件夹中的图像/视频?

使用 htaccess 禁用文件夹或子文件夹并在重定向时使用自定义页面

Spring boot:在类路径文件夹(类)之外的自定义文件夹中添加静态网页(Angular)

仅当文件类型为“文件夹”时,如何使 SharePoint 库中的自定义列按钮可见

使用sbt publishLocal时,自定义配置src jar最终位于jars文件夹中,而不是srcs中

自定义删除文件夹中的文件

尝试在 Wordpress 中显示自定义文件夹中的图像时出现 404 错误

在执行结束时将报告文件放在自定义文件夹中

子文件夹Codeigniter中的自定义404页面

如何在alfresco bootstrap-context.xml中的字典文件夹中引用自定义文件夹?

当内容存储在docs文件夹中时,如何通过自定义域提供Github页面?

如何使用blobstore和Google云存储将文件上传到AppEngine中的自定义文件夹

自定义照片文件夹显示在图库中

右键单击文件夹时,上下文菜单中的自定义项

lang 文件夹中的 Laravel 5 新自定义消息

如何在资产文件夹中引用自定义字体文件?

如何在Drupal目录中添加php文件的自定义文件夹?

使用自定义相机无法保存拍摄的图像中的文件夹中的android

如何访问项目C#中bin文件夹内的自定义文件夹

如何使用wix安装程序将程序安装到自定义文件夹中,而不是Program Files文件夹

如何在烧瓶中使用自定义名称将图像保存在上传文件夹中?

如何在共享查询TFS中创建自定义文件夹?

如何在Unity中为不同的文件夹指定自定义图标?

如何在Alfresco 4.2中向文件夹添加自定义外观?