首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CodeIgniter -在CodeIgniter中使用现有的类,直接包含它们有什么问题吗?

CodeIgniter -在CodeIgniter中使用现有的类,直接包含它们有什么问题吗?
EN

Stack Overflow用户
提问于 2009-11-07 03:55:31
回答 3查看 5.2K关注 0票数 2

我正在考虑使用CodeIgniter作为我的下一个web应用程序的框架。但是,我已经定义了大量的助手类和数据结构。我可以将它们添加到应用程序的库中,但我必须重命名大量文件和类的名称以匹配criterion

我是否可以像在普通web应用程序上那样直接包含文件,绕过load->library()?或者该库是为常用的重用类预留的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-07 03:58:46

如果您愿意,您可以直接包含它们。加载功能让事情变得更简单,但没有什么能阻止你在php中做一个标准的include。我已经用第三方类做过好几次了。

如果你还在寻找一个好的Kohana框架,CodeIgniter(一个分支)值得一试。在我看来,它比CodeIgniter要好得多。

票数 2
EN

Stack Overflow用户

发布于 2010-02-25 17:36:02

更好的做法是,在config.php (一个奇怪的地方,但相信我,这是最好的地方)的底部放置一个__autoload(),让它检查应用程序/类/然后检查应用程序/函数。

代码语言:javascript
运行
复制
/*
| -------------------------------------------------------------------
|  Native Auto-load
| -------------------------------------------------------------------
| 
| Nothing to do with config/autoload.php, this allows PHP autoload to work
| for controller types and some third-party libraries.
|
*/
function __autoload($class)
{
    if(strpos($class, 'CI_') !== 0)
    {

        $lib = APPPATH . 'libraries/'. $class . EXT;
        $class = APPPATH . 'classes/'. $class . EXT;            

        if(file_exists($class))
        {
            include_once( $class );
        }
        else if(file_exists($lib))
        {
            include_once( $lib );
        }
    }
}

这样你就不需要担心东西是如何加载的了。按照预期使用核心库,并使用您的类,而不包含它们。您甚至可以开始将您的类转移到库中,而不需要太多地担心命名约定或加载器,并且lib可以是静态的、单例的,无论使用这种方法是什么。

票数 8
EN

Stack Overflow用户

发布于 2009-11-09 05:15:56

您不需要使用CodeIgniter的类加载器,您也可以像在任何web应用程序中一样对它们进行require,或者将它们包装在CI可加载的包装器中。在我自己的项目中,我有几个从基本控制器require的小型独立库,并且我包装了一些公共库(如Markdown),以用作标准CI库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1689966

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档