У меня есть вспомогательный класс Joomla, который я использую для разработки модулей с помощью метода я пытаюсь позвонить:вызова функции внутри класса с модулем 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 ... или я схожу с ума. Есть идеи?
Он должен объявить 'isInjected' как статические, прежде чем быть в состоянии сделать это, вы можете добавить, что ваш ответ :) –
Спасибо, обновленный ответ –