CodeIgniter:load-> helper的范围是什么

时间:2012-11-28 05:55:54

标签: codeigniter frameworks

在控制器类中,我有这个功能:

public function index(){
    $this->load->helper('url');
    $data['title'] = 'News archive';
    $this->load->view('news/index', $data);
}

我加载了帮助URL,因为我在news / index中使用了anchor()。所以在父函数中加载帮助器似乎已经足够了,我不必在新闻/索引中加载它。

所以我的问题是在CI下面发生了什么让我这样做?是加载 - >查看函数,还是粘贴在$ data上执行新闻/索引的结果? load->视图如何识别已在索引中加载的帮助URL?我仍然试图弄清楚CI框架的运作方式。

在我们需要的时候,在构造函数或每个函数中加载helper的最佳位置是什么?

2 个答案:

答案 0 :(得分:5)

Also what would be the best place to load helper, in the constructor, or in each function as we need it?

作为一个粗略的经验法则;

  • 如果您在控制器中使用助手一次 - 将其放在该特定功能中
  • 如果在控制器的多个位置使用帮助程序 - 将其放在该控制器构造函数中
  • 如果您在多个控制器的多个位置使用帮助程序 - 将其放在“自动加载”部分中一次。

答案 1 :(得分:1)

如果你通过codeigniter中的Loader Class,你可以得到所有的答案......

path >> system/core/loader.php

所做的一切都在这里......

并提出最后一个问题。根据用户指南

http://ellislab.com/codeigniter/user-guide/libraries/loader.html

  

loader,顾名思义,用于加载元素。这些元素可以是库(类)查看文件,助手,模型或您自己的文件。

因为它只是加载元素...... 我通常(喜欢)在需要的每个功能中加载它。 (除非我在其他功能中也需要相同的元素)