gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 14:02:53 26 4
gpt4 key购买 nike

我一直在为我移植到 CI 框架的项目创建自定义库,但我遇到了某些类具有相同名称的问题。

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

CI 版本:2.1.4PHP版本:5.4.12

这是我的设置演示:

application/libraries/class1.php

<?

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

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

application/libraries/foo/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

关于php - Codeigniter 自定义库和命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com