4

I am starting to learn CodeIgniter. I see some advantages e.g. MVC conventions. But in many cases, I can't see how CI helps me to develop faster.

For example, this

$attributes = array('class' => 'email', 'id' => 'myform');
echo form_open('email/send', $attributes);

can be used instead of

<form method="post" 
      accept-charset="utf-8" 
      action="http:/example.com/index.php/email/send"  
      class="email"  
      id="myform" />

I don't see why this should be faster.

Also, there are HTML helpers to create <h1> tags. I don't see the advantage of using a helper here either.

So why should I use these kinds of helpers?

4

4 回答 4

1

帮助者的存在是为了让您的生活更轻松,甚至让您编写更简洁的代码,有时以牺牲灵活性为代价。

在您的示例中,没有重大改进 - 无论是性能方面还是代码长度方面 - 但这并不是 CodeIgniter 帮助程序的全部目的。

就个人而言,我不喜欢框架为我编写 HTML,但我希望它可以帮助我计算一些数据。将它们视为静态方法,如果需要,可以从控制器、模型甚至视图全局访问它们。您将数据作为参数发送给他们,他们处理并返回结果。

一些我不能没有的 Codeigniter Helpers 是'url ' 和'date'

于 2013-08-29T19:21:39.833 回答
1

我同意有些助手几乎没用,因为有些代码比编写它们输出的 HTML 结果要多。但是还有其他帮助者可以让生活变得更轻松,url这是第一个想到的。

此外,辅助结构非常有用。如果您发现自己在视图中一遍又一遍地以相同的方式格式化数据,您应该考虑创建(或扩展)一个帮助器并改为使用它。虽然并非所有助手都有用,但添加它们的可能性非常方便。

于 2013-08-29T19:25:26.053 回答
0

哈很有趣,我有完全相同的反应。但即使是打开的表格也有帮助。

  • 在您的示例中,表单 open 允许您指定代码,而无需使用或混合任何 HTML。更清洁的写作和审查。更少的错误。

  • 不同类型的表单域的想法相同。考虑一下您是否将数据库中的值传递到表单字段中。就像正在更新的用户记录一样。除非您使用表单助手,否则它将成为 php & html & echo 语句的可怕纠缠 - 对于每个表单字段。

  • 真正的回报?特别是当您处理多个表单时 - 您可以在配置文件中指定表单字段的值 - 然后使其可供查看。那么所有重要的东西都在一个简单的数组中,您几乎不必触摸视图。
于 2013-08-30T01:22:25.237 回答
0

表单助手的一个很好的用例是下拉(选择,选项),因为您将能够从变量传递默认值,而无需遍历选项和设置'selected="selected"'

于 2014-07-22T21:23:14.043 回答