为啥当我直接调用它时找不到类名 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'