【问题标题】: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

标签: php laravel-5.2 instance classname


【解决方案1】:

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

composer dump-autoload php artisan optimize

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

【讨论】:

  • 开发时不需要运行优化。如果您没有优化过的文件,自动加载器将使用 psr4 自动加载,它不需要作曲家转储来获取新文件。当你优化它时,它会创建一个类图,这需要作曲家转储来获取任何新文件。
猜你喜欢
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 2021-04-12
  • 2017-03-22
  • 1970-01-01
  • 2022-12-16
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多