谁一开始就是大神?

Yii2.0加载自己的class

app 项目目录

把自己写的类 放在 app/vendor/class/ 下面,在控制器中实例化到时候提示 class不存在。

配置文件中是这样写的

<?php
$params = require(__DIR__ . '/params.php');
$config = [
    'id' => 'app',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],

    'aliases' => [
        '@class' => '@vendor/class',
    ],
    ......
?>

改如何解决, 求高手给个能用的实例。。

首先,要明白 vendor 目录的含义,这个目录基本是放第三方类库的,yii 框架放在这里,你使用的 github 上的类库通过 composer 安装的也放在这里,但,你的产品代码,是不需要放在这里的,也不应该放在这里
第二,虽然,我们的代码用了 namespace app\XXX\XXX 定义 namespace,但是,这个 app 目录对应的就是 'basePath' => dirname(__DIR__), 目录,namespace app\vendor\class 对应的是 basePath/vendor/class 目录,当然,不应该放在 vendor 目录下
举个例子
namespace app\models 是目录 basePath/models
这个 User 的 类名,是 \app\models\User, 文件是 basePath/models/User.php
最后,以上的前提是,你对 php 的 namespace 有大概的了解

赞(0) 打赏
未经允许不得转载:菜鸟之家 » Yii2.0加载自己的class

评论 抢沙发

登录

找回密码

注册