我的问题是当我创建课程时 My_loader扩展了CI_Loader
为什么需要将其放在文件夹应用程序/核心中 我可以把它放在其他文件夹中吗?
我发现难以理解CodeIgniter的流程 如何从正确的方向自动加载类 只是写这一行 $这 - >负载>功能()
我希望我明白我的问题 请任何帮助都会很棒 PS:我是任何框架的新手,所以请原谅我的问题和英语,如果你认为它是业余的
答案 0 :(得分:1)
每次CodeIgniter运行时,都有几个基类 作为核心框架的一部分自动初始化。它是 但是,可以将任何核心系统类与您的交换 自己的版本,甚至扩展核心版本。
大多数用户永远不需要这样做,但可以选择 替换或扩展它们确实存在于那些想要的人 显着改变CodeIgniter核心。
注意:使用核心系统类进行混乱会产生很多影响 在尝试之前,请确保您知道自己在做什么。 来自codeigniter user guide
现在您需要知道的是,codeigniter在系统后运行阶段使用Factory生成其类,您可以查看/system/core/Codeigniter.php
文件中的工作流程
和$this->load->.....
这称为自动加载器,here是一个很好的解释。
另一个重要的注意事项是:
CodeIgniter不应用MVC的规则,但它使用FrontController Pattern,所以只是为了记住它,当你学习codeigniter时,你远离MVC
答案 1 :(得分:1)
您可以在codeigniter中看到应用程序文件夹和系统文件夹。
系统文件夹包含codeigniter的文件,这是codeigniter运行的必要文件,不建议更改这些文件。
应用程序文件夹适合您。您可以添加自己的控制器,视图,模型,库,帮助器等。如果要为codeigniter基类添加一些功能,可以通过在应用程序文件夹中创建相应的文件来实现。例如,如果你想为codeiniter安全类(在system / core / Security.php中找到)添加一些功能,你可以通过在application / core /目录中创建My_security.php而不需要更改系统文件。
Codeigniter有一个精心规划的目录结构。你可以在system / libraries /中看到codeigniter库,就像你的库放在application / libraries /
中一样你可以从http://ellislab.com/codeigniter/user-guide/overview/appflow.html
看到codeigniter的请求流程Codeigniter有一个非常好的文档(转到http://ellislab.com/codeigniter/user-guide)