yii2 自动引入php文件,Yii2新增目录如何配置自动加载

目录结构类似这样的:

/

frontend/

common/

backend/

helpers/

Foo.php

vendor/

我在项目根目录新建了个目录helpers,里面建立了个类文件Foo.php,namespace helpers;

但是在use helpers\Foo;的时候,提示helpers\Foo没有找到。

请问这是什么原因呢?是不是Yii和autoload没有把一级目录加进自动加载里面?

要怎么解决这个问题?

目前我是把helpers放到common里面

@光灵小鼠 @八宝粥 helpers放一级目录这种设计确实不好,多谢指点。

回复内容:

目录结构类似这样的:

/

frontend/

common/

backend/

helpers/

Foo.php

vendor/

我在项目根目录新建了个目录helpers,里面建立了个类文件Foo.php,namespace helpers;

但是在use helpers\Foo;的时候,提示helpers\Foo没有找到。

请问这是什么原因呢?是不是Yii和autoload没有把一级目录加进自动加载里面?

要怎么解决这个问题?

目前我是把helpers放到common里面

@光灵小鼠 @八宝粥 helpers放一级目录这种设计确实不好,多谢指点。

两种途径:

利用yii2本身的方法,即上面有人提到的setAlias

利用composer, 然后不要忘记composer dump-autoload

"psr-4": {

"helpers\\": "helpers/"

}

我也没看到helpersFoo在哪

格式如下

namespace helpers

use userCenter\regist;

在common/config/bootstrap.php文件内配置:

这种是要配置的。

根目录下小写开头的目录都需要特别的设置,也就是说helpers, frontend, common这些和命名空间不是直接对应的,但是它们之下的文件是对应的。自己看一下文档就了解了。

setAlias()

如果没记错,Yii2 也是利用 composer 实现 psr-4 映射,可参阅 composer 文档。

你用的是Yii2 advanced模版

这个模版有三个应用

backend 代表后台应用

console 代表控制器应用

frontend 代表前台应用

common 存放三个应用公用的类

= = 你在根目录增加helper?表示你要增加一个helper应用?

在common下面增加一个helper文件夹还差不多

@__FresHmaN 讲的不错。

但是我不建议你放在根目录,建议你放在 common 里面

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值