我們都知道Yii可以跨Controller使用function (ex: UserController::ShowHallo), 但是很多時候我們會希望一個過濾器(filter)能讓許多的Controller共用.
因為我們不用再重複寫一樣的cord, 是吧! 正如《Clean Code》的Bob大叔說的:不要重複自己DRY (Don't Repeat Yourself)
步驟:
1. 在protected/下建立一個資料夾 (ex: filers)
2. 在protected/filers下建立一個檔案 (ex: ShowHalloFilter.php)
3. 幫你的filter寫點東西
4. 在要使用的Controller裡的filers用array ('application.filters.ShowHalloFilter + aboutMe, fuckYou')的方式來使用我們建立的filter
本人原本是用編輯器以OOP來寫PHP, 但因為有大大說別再刻輪子了, 所以下定決心要好好學個MVC架構的框架, 讓自己的程式結構分明、易維護. 最後經過多方比較後決定學Yii framework, 學習的過程中, 深刻感受到國內關於這個框架的資源, 相較國外及大陸之下明顯不足, 所以希望自己能為台灣的開發者盡一份力. 我是Joker 一位自學者, 一起來大玩特玩吧!
2014年4月28日 星期一
2014年4月21日 星期一
yii framework - 為什麼Facebook登出會轉到home.php
問題:
為什麼在登出fb的時候沒有轉到自己所指定的頁面, 而是跑到Facebook的home.php?
可能的原因:
1. 你的登出後要轉到(next)的網址錯誤, 例如:
$params = array( 'next' => 'http://www.test.com/index.html' );
$logout_url = Yii::app()->facebook->getLogoutUrl($params);
如果你是index.php, 而不是index.html的話就會發生這個現象!
2. 你沒有拿到正確的access token
2. 你沒有拿到正確的access token
其實檢查方式很簡單, 你可以把上面的$logout_url echo出來, 就可以知道到底getLogoutUrl()這個函式到底都產生了什麼鬼.
訂閱:
文章 (Atom)