1
A
回答
2
首先,構建主控制器,其他擴展它們。兩種方法非常有用:before()和after()。通過覆蓋並鏈接它們(super::),你將能夠做到這一點。
1
由於nopnop77說,你可以創建延伸的Kohana默認的控制器,然後再擴展應用程序中的這個基地控制器基本控制器。例如:
創建一個基本控制器文件application/classes/Controller/Base.php
:
<?php defined('SYSPATH') OR die('No Direct Script Access');
class Controller_Base extends Kohana_Controller
{
protected $session = NULL;
public function before()
{
parent::before();
// start the session
$this->session = Session::instance();
}
}
然後延伸的基類的任何類訪問在基類的變量/方法。例如:登錄控制器例如application/classes/Controller/Login.php
延伸的基類:
<?php defined('SYSPATH') OR die('No Direct Script Access');
class Controller_Login extends Controller_Base
{
public function action_index()
{
// you can access the session variable here
echo $this->session;
}
}
相關問題
- 1. 導軌5:加載每個控制器
- 2. 在每個asp:DropDownList控制代碼後面添加DIV
- 3. 的DevExpress MVC控制生成每個頁面加載
- 4. ASPxPopupControl出現在每個頁面加載
- 5. 在每次頁面加載時執行控制器的功能
- 6. 每個頁面加載w/Codeigniter時執行代碼?
- 7. 您是否在每個公共頁面的控制器或控制器的多個方法中加載視圖?
- 8. 如何在每個頁面上加載一個監聽器
- 9. 笨在每個控制器
- 10. Jenkins記錄每個頁面的加載
- 11. 的Prestashop - 模塊 - 每個頁面加載
- 12. 如何強制每個頁面加載某個JavaScript文件?
- 13. 對每個頁面請求執行檢查(並非每個控制器操作)
- 14. 頁面視圖控制器在Xcode(選擇每個視圖控制器)
- 15. PHP在每個新頁面添加代碼
- 16. 如何在每個頁面添加JavaScript代碼?
- 17. 代碼在服務器上的每個頁面之前執行
- 18. EmberJS - 每個頁面與控制器鏈接無路由器
- 19. 每頁加載一個CSS或每頁加載相同的CSS?
- 20. Grails - 跨控制器代碼,在每個請求上執行
- 21. 流星 - 每頁加載執行代碼
- 22. laravel 5在每個控制器上加載模型
- 23. 在選項卡視圖中加載每個視圖控制器
- 24. 每個控制器在導軌中加載Javascript
- 25. 如何在每次加載頁面時運行代碼
- 26. 獲得每個控制器
- 27. 對於每個控制器
- 28. 爲每個枚舉器添加代碼
- 29. 分頁,在每個頁面
- 30. 在ASP.NET MVC中每頁運行一次控制器代碼
但是,我有做(例如上)此代碼: '$ _SESSION [ 'lastvisit'] =時間(); echo'test';' 在我的項目中的每個頁面(控制器)上。 在例如: 控制器歡迎 '公共函數action_index() 回波 '做測試';' 將輸出'testdo test' – Marcin 2013-04-29 15:35:17
基地控制器可能是抽象的太。您可以加載公共用戶對象,使用會話參數來播放,或者如果您將佈局擴展到Controller_Template,則可以準備佈局 – devside 2013-05-02 13:54:58