我刚开始使用 codeigniter,我发现它很容易使用。我最近遇到了 expressionEngine,它似乎是 codeigniter 的一个很好的插件。我的问题是,在我安装了 expressionEngine 之后,这是否会改变我使用 codeigniter 的方式,其中代码进入控制器并在视图文件夹中查看。
5 回答
苹果和橙子,
Codeigniter 是一个框架,可让您创建像管理系统一样的 Web 应用程序。客户不添加任何内容或触摸任何东西。您可以将 CMS 功能添加到您的 codeigniter Web 应用程序,但是从这个意义上说,您实际上是在 Web 应用程序之上构建自己的 CMS。
使用 codeigniter 构建的 ExpressionEngine 是一个 CMS,它允许客户端添加内容而不实际授予他们访问您的 HTML 的权限 - 这并不是说您不能授予他们访问权限,但这会破坏 CMS 的目的。
因为 expressionEngine 是建立在 codeigniter 之上的,所以可以访问它的功能(我已经看过关于这个的帖子,但我自己还没有尝试过)。
如果您有一个带有网站的 Web 应用程序,我认为您会同时使用这两者。通过这种方式,客户端将能够向网站甚至某些应用程序信息区域添加内容,但您将使用 Codeigniter 来构建 Web 应用程序的功能。
我不认为进入表达式引擎会浪费一个星期。LevelUpTuts 有一些关于 expressionEngine 2 的精彩视频教程,并尝试从 Scratch 获得 Nettuts+ CodeIgniter,令人惊讶的是,codeigniter。
(对于那些不熟悉 CMS 的人)开发的一般过程是: - 将您的网站设计翻译成 HTML/CMS/jQuery - 将您的 HTML 翻译成 expresionEngine 模板 - 定义您的客户将添加内容的频道 - 将这些频道嵌入到您的模板以动态显示该内容 - 在管理中,将权限分配给可以为您的客户将内容添加到哪些渠道的人员
一旦你尝试它就会开始有意义。
由于 CodeIgniter 是从 ExpressionEngine 中提取的,因此您不能在 CodeIgniter 之上对 ExpressionEngine 进行分层。一路都是EE,或者使用CodeIgniter来构建你自己的东西。
如果您要求, ExpressionEngine在其模板中支持 PHP 代码。
EE(2.0) 是基于 CI2.0 框架构建的 CMS。
如果您熟悉 CI,您将能够轻松破解、修改和扩展 EE,以及开发自己的插件等。
当然,您可以在同一台服务器上安装 EE和CI,但两者并不直接交互 - CI 是一个框架,EE 是一个 CMS。
不确定我会称 EE 为“附加组件”...
EE 是它自己的独立内容管理系统。通常,EE 和 CI 并不意味着混合使用。虽然 EE 是基于 CI 构建的,但它并不意味着扩展/更改等......他们(Ellislab)会告诉您,如果 EE 不能满足您的要求,那么您需要专门使用 CI。
另外,300 美元的许可证对于您视为“附加组件”的东西来说是相当昂贵的。
我建议研究PyroCMS,它也是基于 CI 构建的免费(啤酒和语音)CMS,直接允许“模块”开发,这是直接的 codeigniter 开发,添加了一些元/安装文件,允许您构建额外的Codeigniter 结构中所需的功能。
表达式引擎有四个文件。例如,我有一个名为“产品”的模块 1)mcp.products 用于管理端或管理控制面板,只是 pyrocms 中的管理控制器 2)mod.products 前端代码放在这里 3)tab.products 选项卡放在这里 4)upd.products安装代码。在我们的案例“products_model”中,“views”文件夹中有视图,模型位于“model”文件夹中。只需复制您的控制器方法并将它们粘贴到管理端的 mcp.products.php 中。并复制您的控制器方法并将它们粘贴到前端的 mod.products.php 中。在 udp 文件中放置表结构。它会像在 Pyrocms 中一样对待。