致命错误:未捕获错误:

我正在创建一个应用程序以在 composer.json 中使用自动加载来加载我的类文件。我得到

Fatal error:  Uncaught Error: Class 'Order' not found in C:\apache\htdocs\inventory_manager\app\public\index.php:17


我在 vendor/composer/autoload_psr4.php 中检查了 $vendorDir 文件夹相对于我的 $baseDir 的路径及其正确性。我已经检查了具有类似问题的线程,但仍然存在。提前致谢


这是我的 composer.json 文件


{

  "name": "inventory manager",

  "description": "Inventory Management System",

  "require": {

    "phpmailer/phpmailer": "~6.0"

  },

  "autoload": {

    "psr-4": {

      "App\\": "app"

    }

  }

}


这是我的文件夹结构


 |---inventory_manager

     |---app

         |---Model

             |---DatabaseObject.php

             |---Order.php

             |---Product.php

     |---public

         |---assets

             |---css

         |---index.php

     |---vendor

     |---composer.json

订单.php


namespace App;


class Order

{

  private $name;

  private $brand;

  private $shape;



  function __construct($name,$brand, $shape)

  {

    $this->name = $name;

    $this->brand = $brand;

    $this->shape = $shape;

  }


  public function toString()

  {

    return "{$this->name}, {$this->brand}, {$this->shape}";

  }

}


索引.php


<?php

  require '../../vendor/autoload.php';


  $prdt = new App\Order('Civic', 'Honda', 'Classic');


  var_dump($prdt);


鸿蒙传说
浏览 159回答 1
1回答

HUX布斯

您为Order类设置了错误的命名空间。替换namespace App;为namespace App\Model;
打开App,查看更多内容
随时随地看视频慕课网APP