7

这是一个很好的解决方法吗?是否可以在 CodeIgniter 的视图中使用帮助程序类。我有一种情况,我必须使用正则表达式从一对文本字符串中提取并生成匹配的输出。我不想直接在视图中执行此操作,我想为此使用帮助器。

application
--view
---myview.php

在这里我应该调用助手并返回结果

例如,我想从文本中提取处理器的类型,而不是传递文本并返回处理器类型。这是需要的,因为视图中的所有数据都是由 API 动态生成的。

echo $myhelper->processor($text);
4

4 回答 4

11

CodeIgniter 的用户指南解释了可以加载帮助器并在视图中使用它们的功能。

CodeIgniter 默认不加载 Helper Files,所以使用 Helper 的第一步是加载它。加载后,它将在您的控制器和视图中全局可用。

但是,在视图中加载帮助器并不是最佳实践,因此您可以自动加载相关的帮助器,或者将其加载到控制器中。

可以在控制器函数中的任何位置(甚至在您的视图文件中,尽管这不是一个好习惯)中加载帮助程序,只要您在使用它之前加载它。您可以在控制器构造函数中加载您的助手,以便它们在任何函数中自动可用,或者您可以在需要它的特定函数中加载助手。

因此,在视图中使用辅助函数很好,尽管鼓励将辅助函数加载到控制器中或自动加载。

于 2013-05-12T18:07:35.620 回答
6
get_instance()->load->helper('HELPER_NAME');
于 2014-03-14T14:29:27.920 回答
4

只需在控制器中加载帮助程序,然后

$this->load->helper('MY_common_functions');
$template['content'] = $this->load->view('your_view');

在视图中直接调用您的函数名称。在这种情况下,我调用了我的转换器函数

echo convertor($params);
于 2017-02-06T15:38:21.090 回答
0

它在 Codeigniter 4 中是标准的,总是在使用它之前加载 Helper 函数,无论是在控制器还是视图中。在 Codeigniter 4 中,如果我们在 Controller 的 __construct 方法中声明 Helper 函数,如:

<?php
  namespace App\Controllers;
  class NewsEventController extends BaseController{
  public function __construct(){
        helper('form');
  }

这个 Helper 函数将在该控制器的所有控制器函数和视图中可用。示例在输入字段中具有“form”辅助函数“set_value()”的视图文件,例如:

<input type="text" class="form-control" name="title" value="<?= set_value('title') ?>" >
于 2020-10-10T08:08:40.507 回答