mixed говорит о том, что параметр может принимать
множество (но не обязательно все) типов.
gettype(), например, принимает все типы PHP, тогда
как str_replace() принимает строки и массивы.
Некоторые функции, такие как call_user_func()
или usort() принимают в качестве параметра
определенные пользователем callback-функции. Callback-функции могут
быть не только простыми функциями, но также методами объектов,
включая статические методы классов.
PHP-функция передается просто как строка ее имени. Вы можете передать
любую встроенную или определенную пользователем функцию за
исключением
array(),
echo(),
empty(),
eval(),
exit(),
isset(),
list(),
print() и
unset().
Метод созданного объекта передается как массив, содержащий объект в
элементе с индексом 0 и имя метода в элементе с индексом 1.
Методы статических классов также могут быть переданы без создания
экземпляра объекта передачей имени класса вместо имени объекта в
элементе с индексом 0.
Пример 11-11.
Примеры callback-функций
<?php
// простой пример callback function my_callback_function() { echo 'hello world!'; } call_user_func('my_callback_function');
// примеры callback-метода class MyClass { function myCallbackMethod() { echo 'Hello World!'; } }
// вызов метода статического класса без создания объекта call_user_func(array('MyClass', 'myCallbackMethod'));
// вызов метода объекта $obj = new MyClass(); call_user_func(array(&$obj, 'myCallbackMethod')); ?>
|
|