Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel在引用自定义类时的奇怪行为_Php_Laravel_Laravel 5.4 - Fatal编程技术网

Php Laravel在引用自定义类时的奇怪行为

Php Laravel在引用自定义类时的奇怪行为,php,laravel,laravel-5.4,Php,Laravel,Laravel 5.4,好吧,这几天我的行为很奇怪 我正在开发一个目录,目录结构如下: vendor -student --myPackage ---src ----controllers ----models ----mail ----routes ----views 我的一个模型文件的示例: <?php namespace Student\myPackage\Model; use Illuminate\Database\Eloquent\Model as BaseModel; class MyClas

好吧,这几天我的行为很奇怪

我正在开发一个目录,目录结构如下:

vendor
-student
--myPackage
---src
----controllers
----models
----mail
----routes
----views
我的一个模型文件的示例:

<?php

namespace Student\myPackage\Model;

use Illuminate\Database\Eloquent\Model as BaseModel;

class MyClass extends BaseModel
{
    //
}
我甚至删除了模型文件,然后重新编码了所有内容,但问题仍然存在。然后在我的控制器中,我为所有正在使用的模型类重新编写了use语句,并且它工作正常。还记得吗,我甚至多次重写了上述类的use语句,但它就是不起作用。不管怎么说,现在它开始工作了,但是现在我对另一个类也有同样的问题,一个可邮寄的类

可能是什么问题,是关于类被引用的顺序,还是关于我缺少的名称空间?


包的Composer.json

"autoload": {
    "psr-0": {
        "Student\\myPackage\\": "src/"
    }
}

您忘记了将模型名称空间多元化

尝试使用以下
使用
语句:

use Student\myPackage\Models\MyClass as aMyClass;

您的模型位于
src/models
,composer会将您的模型命名为
Student\myPackage\models

您忘记了将模型名称空间复数化

尝试使用以下
使用
语句:

use Student\myPackage\Models\MyClass as aMyClass;

您的模型位于
src/models
,composer将您的模型命名为
Student\myPackage\models

您的命名不正确

Student\myPackage\Model\MyClass
换成

Student\myPackage\Models\MyClass

选中此项后,请注册服务提供商(别名,如果有的话)。使用别名将帮助您节省时间和精力。

您的命名空间不正确

Student\myPackage\Model\MyClass
换成

Student\myPackage\Models\MyClass

选中此项后,请注册服务提供商(别名,如果有的话)。使用别名将帮助您节省时间和精力。

您还可以共享composer.json的自动加载部分吗?您需要提供完整路径,如:
“psr-0”:{“Student\\MyPackage\\ \”:“Student/MyPackage/src”}
试试这个,让我知道它是否有效@HirenGohel不,它不起作用。如果您在文件
config/app.php
@HirenGohel中为服务提供商数组定义了新的服务提供商,我有。但是在我的新ServiceProvider中没有模型类的引用。我不知道怎么做。这可能是问题所在吗?您还可以共享composer.json的自动加载位吗?您需要提供完整路径,如:
“psr-0”:{“Student\\MyPackage\\ \”:“Student/MyPackage/src”}
尝试一下,如果可行,请告诉我@HirenGohel不,它不起作用。如果您在文件
config/app.php
@HirenGohel中为服务提供商数组定义了新的服务提供商,我有。但是在我的新ServiceProvider中没有模型类的引用。我不知道怎么做。这可能是问题所在吗?