我刚刚开始使用 CodeIgniter,我正在尝试对我的常规模块/函数进行散列,以使它们在 MVC 框架中正常工作。对于拥有强大 CodeIgniter 背景的任何人,我有几个具体问题:
会议
CodeIgniter 会话将客户端的会话数据存储在 cookie 中,这对我不起作用。我知道有一些替代品,或者我可以构建自己的库/助手;但我只是看不到使用$_SESSION
.
如果我只使用$_SESSION
,我会对框架的其余部分有任何问题吗?框架的任何其他部分是否依赖于使用 CodeIgniter 会话?
对于这么基本的东西,我对跳出框架感到有点奇怪,但我对普通的 PHP 很满意。我基本上只是希望将 CodeIgniter 用于 MVC,并为我的项目实施更加模块化的方面。
代码流程和配置
我有一些配置项需要在几乎其他任何事情之前完成。
例如,假设我有一个常量APP_LIVE
,它根据当前服务器的名称设置为真/假。这必须尽早发生,因为路径、错误报告、CodeIgniter 系统和应用程序文件夹等都将基于它进行设置。
问题是system_folder
, 和application_folder
(将根据代码运行的服务器设置)在index.php
文件中首先设置,在任何配置加载之前。
此外,我有一个功能可以检查 URL 中的内容,并且可以在页面加载之前重定向。例如,某些页面需要www.
在 URL 中出现(用于 SEO)、跟踪关联公司、访问者来源、营销标志等。
把这种必须很早就发生的事情放在哪里最好?我知道有一个配置文件、一个自动加载文件、一个常量文件等,但是对于某些项目来说已经太晚了。将这些东西简单地放在主index.php
文件的顶部,或者将它们包含到全局配置文件中是一种不好的做法吗?再一次,我觉得我正在走出框架,想知道我这样做是不是因为我对它还没有一个扎实的理解?
布局/页眉页脚
像大多数人一样,我有一个顶部页眉、导航、页脚等。我习惯于将它们放在文件中,这些文件包含在我的页面模板中。我相信我可以通过让它们查看并将它们包含在我的主页视图中来以同样的方式做到这一点。这是最好的方法吗?其中一些需要一些数据;比如他们在哪个页面上进行导航等。处理导航、共享页眉/页脚等的最佳方式是什么?