繁体   English   中英

Class 未在 PHP Laravel 6.x 中找到,当另一个 ZA2EBC2CBB4C21A29DC40AB61DZ 扩展时

[英]Class Not Found in PHP Laravel 6.x when another class extends

I always get the class not found exception in php laravel 6 when i create a class and extend a parent class named A which is located in the same directory.

但是,位于同一目录中的另一个子 class 可以成功扩展 class A。

此外,由于 class 在 another.php 文件中未发现异常,我也无法实例化 class A。

请帮助我。 预先感谢。

父 class:myContext

<?php
namespace config\models;

class myContext {
    public static $conn;
    ...
}

Class myUser:扩展名很好。

<?php
namespace config\models;

class myUser extends myContext {
   private $name;
   ...
}

Class oauth:扩展返回 myContext class 未找到。

<?php
namespace config\models;

class oauth extends myContext {
    private $user;
}

实例化 class - 返回未找到 class。

<?php

use config\models\myContext as context;

$cont = new context();

在此处输入图像描述

在 composer.json 文件中,

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "config\\models\\": "config/models"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},

在那之后composer dump-autoload

要使提供的示例代码正常工作,您需要使用require_once

<?php
require_once('models/myContext.php');

use app\config\models\myContext as context;

$test = new context();

对 SO 的搜索将我带到了这个来源

你尝试在composer.json文件中添加这行代码,然后在命令行执行composer dumpautoload命令

在此处输入图像描述

你有没有为composer.json中的config/文件夹添加自动加载。 Laravel 仅默认自动加载app/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM