微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐