PHP FILTER_CALLBACK в классе ООП - PullRequest
1 голос
/ 29 июля 2011

Привет! Я поиграл с получением класса фильтров phps и столкнулся с проблемой с фильтром filter_callback.

следующий грубый код работает, но каждый раз показывает ошибку

Предупреждение: filter_var () [function.filter-var]: первый аргумент должен быть допустимым обратным вызовом в /Users/Rob/sites/test_val.php в строке 12

class test

{

public function callback($string)
{

$var = filter_var($string, FILTER_CALLBACK, array('options' => $this->foo($string)));

} 

public function foo($string){

echo $string;


}

}


$test = new test();

$string = 'test';

$tested = $test->callback($string);

Правильно ли я вызываю функцию или есть другой способ?

Ответы [ 2 ]

8 голосов
/ 29 июля 2011
$this->foo($string)

... должно быть ...

array($this, 'foo')

При использовании метода в качестве обратного вызова необходимо предоставить ссылку следующим образом.

Документация .

1 голос
/ 09 июня 2016

Этот код работает для меня:)

 <?php
    class myClass {
     public function myFunc($var){
       return filter_var($var, FILTER_CALLBACK, array('options'=> 'self::myCallback'));
     }
     public function myCallback(){
      return true;
     }
    }
$obj = new myClass();

var_dump($obj->myFunc("myname@gmail.com"));
//output:- bool(true)

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...