CodeIgniter可以使用命名空间么

youngzhaojia
  • 248

CodeIgniter文档里好像没有namespace的部分。
PS:如何在CodeIgniter里使用composer加载的库。

回复
阅读 9.5k
6 个回答

CI3就开始支持命名空间了。
如果你想使用Composer可以在config/config.php文件中的$config['composer_autoload'] = TRUE;这个选项修改为TRUE,默认是FALSE

这里注意一下。如果你修改为TRUE,那么CI是自动去加载application/vendor/autoload.php所以,如果你的vendor目录在你的项目根目录下,即与index.php同级,那么你可以使用$config['composer_autoload'] = realpath(APPPATH . '../vendor/autoload.php');这样的方式来引入Composer

没有namespace意味着CI框架不能使用命名空间。
但是你自己代码可以使用。
如果想用composer,可以在要使用composer库的地方加上

require __DIR__.'/vendor/autoload.php';
...

路径记得自己调一下

php版本大于5.3就支持命名空间, 跟框架没关系的.
只需要在类定义之前使用use关键字

//use 你的composer包的完全限定名

use Monolog\Logger;
use Monolog\Handler\StreamHandler;

class TestController {
    
}
qnick
  • 3
新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏