2012-11-28 23 views
0

在控制器類我有這樣的功能:笨:什麼是負載範圍>助手

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

我加載幫手URL,因爲我在新聞/索引使用錨()。因此,似乎在父函數中加載助手就足夠了,我不必在新聞/索引中加載它。

所以我的問題是CI下面發生了什麼,讓我這樣做?是load->查看函數,還是粘貼執行新聞/索引在$ data上的結果? load-> view如何知道已經在索引中加載的幫助器url?我仍然試圖理解CI框架是如何工作的。

另外什麼是最好的地方加載助手,在構造函數,或在每個函數,因爲我們需要它?

回答

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

作爲粗略的經驗法則;

  • 如果你在一個控制器使用助手一次 - 將其放置在特定的功能
  • 如果使用在多個地方幫手控制器 - 將其放入該控制器構造
  • 如果使用助手在多個控制器的多個地方 - 將其放置在'自動加載'部分一次。
1

如果u去通過Loader類CI中你可以得到所有的答案...

path >> system/core/loader.php 

一切,是做的是這裏....

和UT最後一個問題。根據用戶指南

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

裝載機,顧名思義,用來加載元件。這些元素可以是庫(類)查看文件,助手,模型或您自己的文件。

所以,因爲它只是加載元素...我通常(喜歡)加載它在每個功能所需。 (除非我在其他功能中也需要相同的元素)