Smarty integration into the CodeIgniter framework
一点背景信息: 我更喜欢CodeIgniter,因为它设计简单。它是非常裸露的骨头,只是保持简单。我不喜欢的是薄弱的模板系统。模板系统对我来说很重要,因为我将与另一位设计师一起工作。能够为他提供良好的模板系统是一大优势。 Zend是第二选择,因为它内置了更好的模板系统。尽管与CodeIgniter相比,Zend是另一种野兽。它强调"模块之间的松耦合",但它是一个更大的框架。我不想感到有很多事情在我从未使用过的引擎盖下运行。我认为这是不必要的开销,因此我考虑将模板系统放入CodeIgniter:Smarty。 问题:将Smarty集成到CodeIgniter中的过程有多容易/难?从对CodeIgniter文档的初步扫描中,我可以看到框架的布局很容易理解,并且我预计不会出现任何问题。我想知道以前是否有人使用过它,因此知道您遇到的任何"陷阱"会使它变得比应实现或不可能实现的难度更大。我也想知道这是否是一件好事。 CodeIgniter中的模板系统是否足以正常使用?除了Smarty之外,还有其他适用于CodeIgniter的模板模块吗?我最好使用Zend Framework吗?这里有没有发明轮子? 很抱歉要复活一个旧问题-但尚未将所有答案标记为"已接受"。 有一个名为"模板"的库,它可以使您几乎使用所需的任何模板解析器,都做得很好: 模板CI库-V1.4.1 该语法很容易集成到您的CI应用程序以及本地化的smart集成中。 稍微加班,希望您不要介意... 我是Zend Framework的用户,我认为值得一提的是,松散耦合意味着您不需要包括任何未在使用中的文件。希望这可以消除您对不必要的开销的担心。 ZF的最新发行版中增加了布局元素,其模板确实很难过错……而且正如Favio所提到的,它是完全可插入的。我使用ZF的次数越多,我越喜欢它。他们以我会做的方式做事!
我做了一个快速的谷歌搜索,发现以下内容: 如果设计人员对Smarty不熟悉,我认为它几乎与使用现有CodeIgniter模板系统(实际上将所有内容留给PHP)相同。它还取决于手头项目的复杂性。 您还可以将Smarty与Zend Framework挂钩。它比CodeIgniter复杂得多,但是ZF文档中已经有关于如何精确执行此操作的入门文章。 http://framework.zend.com/manual/en/zend.view.scripts.html以及网上大量的教程。 我认为这几乎是相同的,您可以使用纯PHP或Smarty作为模板"引擎",因此它取决于项目。此外,将拥有丰富经验并已经拥有视图帮助程序库以便使用纯PHP的开发人员与不了解PHP但具有Smarty丰富经验的设计人员进行比较。有时,决策必须基于谁去做。
将Smarty集成到CodeIgniter中?轻而易举! 对CI 3中的Smarty 3遵循以下步骤: 下载CodeIgniter 3 下载Smarty 3并将其内容放在" application / third_party / smarty"文件夹中 在"应用程序/库"中创建" Custom_smarty.php"文件并添加以下代码:
在"应用程序/视图"文件夹中创建"模板"和" templates_c"文件夹 在" application / views / templates"文件夹中创建简单的" test.tpl"文件 在" application / config"文件夹中打开" autoload.php"并添加:
在控制器内部:
如果您在本地主机上工作,请设置权限: 否则,您可以使用另一个模板引擎,例如Twig。 似乎没有为这个问题选择答案,也没有给出最新的解决方案来与最新版本的Codeigniter(2.0)和最新版本的Smarty(3.0.5)一起使用。 该库允许您将Smarty 3与Codeigniter 2.0一起使用,以便可以使用Smarty 3的特定功能,例如模板继承。
查看此自定义CodeIgniter模板库。我已经在多个项目中使用过它,并且易于使用。我知道这篇文章已经很晚了,但是值得一试。 |