我为我的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