框架辅助程序,它们的作用是什么?

7
我开始研究一些框架,特别是 Code Igniter。但是在查找文件夹时,我发现 system/helpers 中包含了 21 个 PHP 文件。在这些文件中,我们可以找到数千个与 html、xml、字符串、数组、数字、表单等相关的函数。
这应该很简单,但我真的不理解这些 helper 文件的含义。我的意思是:什么被普遍认为是帮助程序?它们是必需的吗?我能否删除它们而没有风险?

删除它们的唯一潜在好处就是节省几个千字节的磁盘空间。如果它们没有被使用,那么在那里也不会有任何运行时开销。 - Frank Farmer
2
我不想听起来像个刺儿头,但是如果阅读文档的话就能回答这个问题了...... http://codeigniter.com/user_guide/general/helpers.htm - Peter
4个回答

9

在许多框架中,包括CodeIgniter中,“helper”指的是一组函数,将多个进程组合成单个函数,使得简单常规任务更容易完成。

CodeIgniter助手的官方文档可以在这里找到。

它提供了以下解释:

助手(Helper)顾名思义,帮助你完成任务。每个助手文件只是特定类别中的一组函数。有URL助手,帮助创建链接;有表单助手,帮助创建表单元素;文本助手执行各种文本格式化例程;Cookie助手设置和读取Cookie;文件助手帮助您处理文件等。

文档中还可以找到助手函数列表及其功能。

Dan

PS. 您不应删除系统目录中的任何文件,因为它们可能会在核心中被依赖。您可以创建自己的助手,放置在application/helpers目录中。


3

Helpers是提供给开发者的一些函数,旨在使某些任务更加容易实现,例如验证或输入清理。您不应删除它们,事实上,尽可能使用它们,因为它们通常做得很好且已经经过了充分的测试。


2

您永远不应该删除库/框架的文件。它们被设计为整体工作。在用户端,几乎没有很多原因将库/框架切成零件。所以您可能什么都得不到,但风险却很高,可能会破坏某些东西。

不过,"Helpers"是一个通用的概念,提供一些简单的功能,另一个组件可以使用(或不使用),而无需直接实现。查看CodeIgniter手册以获得有关这些辅助程序可用于哪些部分的提示。


1

在框架的核心/系统文件中,您绝对不应该删除任何辅助程序,因为通常这些功能将用于其他库中,并可能引起各种问题。

您不必在应用程序中使用它们,它们不会导致明显的性能问题。

它们一开始可能看起来多余,但例如 CI 中的那些辅助程序非常有帮助(正如您可能预期的那样)。

您可以争论表单辅助程序或 HTML 辅助程序只是产生了额外的开销,而您可以自己键入适当的 HTML,但请考虑:

   <form action="<?php echo site_url('controller/method'); ?>" method="post">

    // or using the form helper

    <?php echo form_open('controller/method');

省去繁琐的字符,避免拼写错误、打字错误等风险。

Phil Sturgeon对使用助手函数的好处发表了一番愤言,他非常推崇这种做法,相关内容可以在这里找到,提出了几个很有道理的观点。

编辑

为了证明我的观点!

$attributes = array('class' => 'email', 'id' => 'myform');
$hidden = array('hidden_value'=>'1234', 'hidden_value_2' => 'foobar');

echo form_open('email/send', $attributes, $hidden);

表单示例并不真正适合。我更喜欢自己输入控制所有参数的HTML表单。此外,第一行(HTML行)比第二行更易读和理解(您必须默认为POST方法)。还有关于附加到表单的ID呢? - Shoe
你可以传递给它第三个参数[参见编辑],但回顾我的示例并不是一个不可或缺的部分!希望你能看出为什么你可能会使用它们。 - Ross
所以,是的,仍然需要一些打字,并不会决定你的应用程序成败,但它绝对有其用处! - Ross

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接