php – Codeigniter自定义库和命名空间

我一直在为一个项目创建自定义库,我已经将其移植到CI框架中,并且遇到了某些类具有相同名称的问题.

为了避免这个问题,我尝试实现命名空间无济于事.我一直在做研究,我知道在过去这可能是不可能的,但是对于新版本的PHP,我想知道是否有办法做到这一点,或者我是否正确地做到了这一点.

CI版本:2.1.4
PHP版本:5.4.12

这是我的设置演示:

应用/库/ class1.PHP

<?

class class1{
   public function __construct()
    {
        $CI =& get_instance();

        $CI->load->library('foo/class2.PHP');
    }
}
?>

应用/库/富/ class2.PHP

<?

namespace foo

class class2{

    function bar(){

    }

} 

?>

当我运行CI应用程序时,我将收到以下错误

不存在的类:class2

谢谢你的帮助.

解决方法:

从我发现的,如果库文件没有

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

作为第一行代码,它不会加载库.

但是,名称空间声明需要高于此.

CodeIgniter是为PHP4编写的,而命名空间是PHP5.

这个帖子中有更多信息:Namespace in PHP CodeIgniter Framework

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...