在视图中使用HTML而不是CodeIgniter助手

时间:2011-12-12 13:14:45

标签: codeigniter

在codeigniter的视图中,我们可以使用codeigniter为表单编写代码。例如,对于url,codeigniter中的代码是:

<?php
anchor('site/myfunction','Send');
?>

我的问题是,在视图中使用html编写此代码是否更好:

<a href="site/myfunction">Send </a>

这是一个例子,但问题是视图的所有HTML助手。 CodeIgniter的用户指南建议使用PHP函数而不是代码html。 php代码向服务器请求而html没有。最好使用CodeIgniter for HTML?我不知道当我使用CodeIgniter的帮助程序时,框架是否考虑过这些请求。

我为我的英语道歉。谢谢你的回答。

2 个答案:

答案 0 :(得分:5)

您希望使用CodeIgniters库的原因是能够在很少的工作量下快速修改站点范围内的HTML元素。例如,假设您希望网站上的所有<a>标记都添加一个名为“ajax”的类。使用anchor助手,您可以轻松完成此任务。

尽管如此,我并没有预见到许多解决方案,您将在整个网站范围内更改HTML元素。使用语义HTML,CSS和Javascript,我认为您将完全没有使用CodeIgniters HTML帮助程序。在我看来,您的代码将更具可读性。使用HTML。

关于效果

当你说“代码php在html时向服务器发出请求时,没有”你错了,因为无论何时有人访问你的网站,他们都会请求服务器。这里的问题是PHP引擎正在做多少工作而不仅仅是普通的网络服务器。在这种情况下,函数调用对PHP来说是微不足道的,不应被视为性能明智。

关于网址

Pi的答案主要集中在CodeIgniter中的URL解析可能很奇怪,但使用正确的.htaccess或web.config配置,您应该能够使用vanilla href而不使用CodeIgniter函数。

答案 1 :(得分:2)

你不应该使用

<a href="site/myfunction">Send </a>

因为它可能无处不在。但如果你使用它:

<a href="<?= site_url('site/myfunction') ?>">Send </a>

没有太大的区别。纯HTML有点快,但除非你有一个高流量的网站无关紧要。如果您在库中,使用CI函数会很好,因为您不希望将PHP和HTML混合在一起以保持模型 - 视图 - 控制器概念。你在视图中使用的是风格问题你喜欢什么。

我个人认为codeigniter表单函数不是很好,我经常使用html。