Я пытаюсь использовать это в своем классе. Я только начал использовать объекты в PHP, поэтому я все еще немного незнакомец (но учись как можно больше). Это в моей функции page()
(так называемый, когда есть новый экземпляр страницы)
set_error_handler('$this->appendError');
Это вызывает ошибку
Предупреждение: set_error_handler () ожидает, что аргумент (appendError) будет действительным обратным вызовом
Теперь как установить внутреннюю функцию класса при передаче функции в виде строки. Разве это невозможно? Должен ли я использовать обычную функцию, которая затем вызывает функцию класса и передает все аргументы? Это звучит немного громоздко для меня.
Или я пропустил проблему? Я попытался сделать мой appendError возвратом строки и эхом .. но он все еще не играет хорошо.
Любая помощь будет принята с благодарностью.
Спасибо!!
Немногие проблемы с этим.
Первый:
'$ This-> appendError'
является nogo. Он не интерпретирует это значение для текущего класса, php интерпретирует его как строку '$ this'.
Второе: попробуйте
set_error_handler (array ($ this, 'appendError'));
Если это не сработает, замените $ this на имя класса и используйте его статически.
Прочитайте документацию обратного вызова php.net . Я думаю, что пример 3 ближе всего к тому, что вы хотите:
// Type 3: Object method call $obj = new MyClass(); call_user_func(array($obj, 'myCallbackMethod'));