为啥当我直接调用它时找不到类名 laravel5

Posted

技术标签:

【中文标题】为啥当我直接调用它时找不到类名 laravel5【英文标题】:why class name not found when i directly call it laravel5为什么当我直接调用它时找不到类名 laravel5 【发布时间】:2016-11-06 09:46:30 【问题描述】:

我必须学习类似的 Laminat 和 Linoleum 课程

<?php namespace App\Http\Controllers\Parsing\Samara; class Laminat extends BaseSupply 
public $manufacture = 'Без производителя';
public $class = 'null';
public $depth = 'null';
public $collection = 'Без коллекции'; 

油毡:

<?php namespace App\Http\Controllers\Parsing\Samara; class Linoleum extends BaseSupply 
public $manufacture = 'Без производителя';
public $collection = 'Без коллекции';
public $width = 'null'; 

我尝试像使用它一样

 $path = "App\Http\Controllers\Parsing\Samara\Linoleum";
 $item = new $path();
 dd($item);

如果我创建 laminat 实例,它会用 dd 响应

firstPic

如果我创建油毡实例,它会以 dd 响应

secondPic

我做错了什么?

【问题讨论】:

检查文件名Linoleum.php和`App\Http\Controllers\Parsing\Samara`里面的目录 我得到了所有正确的文件 - Linoleum.php 和 Laminat.php 【参考方案1】:

问题是,这些类不在自动加载文件中。所以我运行了这些命令

composer dump-autoload php artisan optimize

类已添加到自动加载文件中,一切正常。

【讨论】:

开发时不需要运行优化。如果您没有优化过的文件,自动加载器将使用 psr4 自动加载,它不需要作曲家转储来获取新文件。当你优化它时,它会创建一个类图,这需要作曲家转储来获取任何新文件。

以上是关于为啥当我直接调用它时找不到类名 laravel5的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 5.3 中调用 SEOStats 实例时找不到类 'SEOstats\SEOstats'

将图像名称传递给vue组件时找不到图像

当我在此页面中声明方法时,为啥此代码会出现“找不到符号”错误?

为啥使用 Origin 标头时找不到路由

从 cURL 进行 API 调用时找不到资源 404 错误

尝试播放音频时找不到文件错误(Obj-C)