【问题标题】:Yii2 namespace autoloader doesn't find copied filesYii2 命名空间自动加载器找不到复制的文件
【发布时间】:2015-09-16 22:23:48
【问题描述】:

我在本地运行 Yii2 框架,我想重用我在早期项目中创建的模型。

所以我将文件TestForm.php 复制到models 目录,将命名空间从namespace backend\models 更改为namespace app\models,并尝试使用以下命令创建一个对象:

$model = new \app\models\TestForm;

这给了我

Unable to find 'app\models\TestForm' in file: /var/www/html/operators/basic/models/TestForm.php. Namespace missing?

这很奇怪,因为命名空间是正确的。

但是,如果我自己创建文件TestForm.php 并复制旧文件的内容,一切正常。

发生了什么事? (我用的是 ubuntu 15.04)

【问题讨论】:

    标签: php ubuntu namespaces yii2


    【解决方案1】:

    我认为在您的 /models/TestForm.php 中您没有指定正确的命名空间,例如:

     namespace basic\models;
    

    【讨论】:

    • 我添加了命名空间 app\models;在表单模型的顶部
    猜你喜欢
    • 1970-01-01
    • 2016-05-18
    • 2020-01-11
    • 2014-12-07
    • 2021-04-04
    • 2017-11-03
    • 2013-10-24
    • 1970-01-01
    相关资源
    最近更新 更多