我有一个 Joomla 助手类,我正在使用我试图调用的方法进行模块开发:
class modCamcloudReferralHelper
{
/*
* Sanitize email form
*/
public function isInjected($str) {
$inject = "/(\r|\t|%0A|%0D|%08|%09)+/i";
return (preg_match($inject, $str) > 0);
}
public static function sendEmail() {
$jinput = JFactory::getApplication()->input;
$email = $jinput->post->get('email', '', 'STRING');
//check email is fine
if (isInjected($email)){ //never get into this code and it causes some sort of failure
echo "blah";
}
}
}
很简单,对吧?但是这段代码只是给了我一个空白页,我看不到任何错误......任何地方。相反,我可以将这段代码直接放入我的sendEmail
函数中,它工作得很好:
$inject = "/(\r|\t|%0A|%0D|%08|%09)+/i";
if (preg_match($inject, $email) > 0){
echo "This works";
}
我之前构建的 Joomla 组件遇到了这个问题。由于某种原因,从同一类内部调用此函数不起作用。这一定是 Joomla 的事……否则我要疯了。有任何想法吗?