在Symfony 1.4中, 通常会重用组件和部分以包含需要一些额外逻辑的HTML块。许多开发人员采用的其他解决方案是使用静态方法创建类, 这种方法的工作方式可以这么说, 但是它们具有预定义类的前缀, 并且始终可用。并非每个支持旧版Symfony 1.4项目的开发人员都可以使用的功能之一就是Helper功能的存在。
默认情况下, Symfony 1.4在整个项目中(几乎)有很多可用的辅助函数, 例如url_for, link_to等。如果你喜欢这种样式, 则需要知道可以创建相同类型的辅助函数而无需在各处编写相同的函数。
创建和使用助手要在项目上全局公开帮助程序, 你需要在yourproject / lib中创建helper目录。在此文件夹中, 你可以根据需要创建许多帮助文件, 其中包含所需的帮助方法, 唯一的条件是文件名以* Helper结尾, 例如, 如果你要创建与在操作字符串时, 我们将在lib目录中创建一个名为StringHelpers.php的文件。在这里, 你应该创建简单的PHP函数, 而不是创建类。例如, 我们将包括一个使用跨度突出显示字符串HTML中给定单词的方法:
<
?php // application/lib/StringHelper.phpfunction highlight_word_inside_html($content, $search){if(is_array($search)){foreach ( $search as $word ){$content = str_ireplace($word, '<
span class="highlight_word">
'.$word.'<
/span>
', $content);
}} else {$content = str_ireplace($search, '<
span class="highlight_word">
'.$search.'<
/span>
', $content);
}return $content;
}
有了此方法, 你可以通过在要使用它的地方使用use_helper方法来包括该助手, 从而访问它(或者在助手文件中有很多东西的情况下, 也可以使用它)。例如, 在视图内部, 你可以简单地执行以下操作:
<
?php use_helper('String') ?>
<
!-- In your template -->
<
?php // Outputs: <
p>
Hello <
span class="highlight_word">
world<
/span>
<
/p>
echo highlight_word_inside_html("<
p>
Hello world<
/p>
", "world");
?>
如你所见, 可以说, 使用助手可以编写简单的PHP方法, 并且它们可以在项目中的任何地方使用。要了解有关Symfony 1.4的use_helper方法的更多信息, 请阅读官方旧版文档。
【在Symfony 1.4中实现全局非静态辅助函数】编码愉快!
推荐阅读
- 如何在C中获得数字的阶乘
- 如何解决FOSUserBundle异常(服务” fos_user.mailer”具有对不存在的服务”模板”的依赖)
- 如何在Silex项目中使用CLI清除缓存
- 如何解决C++错误C4996’getch’(不建议使用此项目的POSIX名称。而是使用符合ISO C和C ++的名称:_getch)
- 如何在自己的插件之前在Shopware中注册第三方插件的自定义模型
- 如何反序列化使用Doctrine存储在数据库中的DC2Type数组数据类型
- 如何在Symfony 3中生成通用唯一标识符(UUID)
- 如何在基于CLI的基于Unix的操作系统中使用TAR压缩整个目录(包括子目录)
- 通过USB连接到Xamarin.Android应用程序与网站进行通信