我爲我的Magento模塊的一部分編寫了一個模型,用於檢查用戶是否已登錄。它旨在防止未登錄的用戶訪問某些頁面。它有效,但我有興趣學習Magento最佳實踐並編寫更高效的代碼。在這個模型中,我需要檢查用戶是否登錄。這給了我兩個選擇。我可以在代碼中調用法師助手,也可以擴展Mage_Customer_Helper_Data類並詢問$this->isLoggedIn()
。哪個效率最高?有沒有更好的辦法?我將粘貼下面的兩個版本。Magento - 調用輔助函數或擴展輔助類更有效嗎?
延長幫手
class Company_Module_Model_Protection extends Mage_Customer_Helper_Data
{
public function checkUser()
{
if (!$this->isLoggedIn())
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('customer/account/login/referer/'.base64_encode(Mage::helper('core/url')->getCurrentUrl()).'/'));
}
return true;
}
}
調用輔助
class Company_Module_Model_Protection
{
public function checkUser()
{
if (!Mage::helper('customer')->isLoggedIn())
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('customer/account/login/referer/'.base64_encode(Mage::helper('core/url')->getCurrentUrl()).'/'));
}
return true;
}
}
我喜歡它,非常感謝你的提示! – Markie 2015-02-10 11:06:36