3.3. Об'єкти, ресурси та псевдотипи
Первинні вкладки
Тип object (об'єкти)
Об'єкт є одним з базових понять об'єктно-орієнтованого програмування. Внутрішня структура об'єкта схожа на хеш, за винятком того, що для доступу до окремих елементів і функцій використовується оператор ->, а не квадратні дужки.
Для ініціалізації об'єкту використовується вираз new, що створює в змінної екземпляр об'єкта.
1 2 3 4 5 6 7 8 9 10 11 12 | <?php class foo { function do_foo() { echo "Doing foo."; } } $bar = new foo; $bar->do_foo(); ?> |
Тип resource (ресурси)
Ресурс - це спеціальна змінна, що містить посилання на зовнішній ресурс. Ресурси створюються і використовуються спеціальними функціями.
Псевдотип mixed (змішаний)
mixed говорить про те, що параметр може приймати безліч (але не обов'язково всі) типів.
gettype (), наприклад, приймає всі типи PHP, тоді як str_replace () приймає рядки і масиви.
Псевдотип number (числовий)
number говорить про те, що параметр може бути або integer, або float.
Псевдотип callback (зворотного виклику)
Деякі функції, такі як call_user_func () або usort () приймають як параметр певні користувачем callback-функції. Callback-функції можуть бути не тільки простими функціями, але також методами об'єктів, включаючи статичні методи класів.
PHP-функція передається просто як рядок її імені. Ви можете передати будь-яку вбудовану або визначену користувачем функцію за винятком array (), echo (), empty (), eval (), exit (), isset (), list (), print () і unset ().
Наведемо приклади callback функцій:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?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')); ?> |