【发布时间】:2015-05-04 08:21:38
【问题描述】:
我在 TYPO3 Extbase 中创建了一个不错的模型/视图/控制器扩展。我在 Inquiry 和 Investigator 之间有一个 n:1 的关系。
我需要检查当前登录的用户(调查员)是否有权访问当前查询。请参阅以下功能。
当查询未分配给调查员(因此对象为空)时,if($inquiry->getInvestigator()->getUid()) 方法返回致命错误:Call to a member function getUid() on a non-object。
有没有一种更简单的方法来避免该错误,例如只有一个 if 条件?或者这是干净的方法吗?
/**
* has the user access to inquiry?
*
* @param Tx_MyExt_Domain_Model_Inquiry
* @return boolean
*/
protected function hasInquiryAccess(Tx_MyExt_Domain_Model_Inquiry $inquiry) {
if ($inquiry->getInvestigator()) {
if ($inquiry->getInvestigator()->getUid() == $this->user->getUid()) {
return TRUE;
} else {
return FALSE;
}
} else {
return FALSE;
}
}
【问题讨论】:
标签: model-view-controller model typo3 extbase