Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: unserialize_callback_func

Сообщения:  [1-3] 

 
 автор: sim5   (18.04.2008 в 17:20)   письмо автору
 
   для: Atheist   (18.04.2008 в 17:15)
 

А в русском туторе:

mixed unserialize (string str) - создаёт PHP-значение из хранимого представления.

unserialize() принимает одну сериализованную переменную (см. serialize()) и конвертирует её обратно в РНР-значение. Возвращается конвертированное значение, которое может быть integer, float, string, array или object.

Примечание: можно установить callback-функцийю, которая будет вызываться, если неопределённый/undefined класс должен быть инстанциирован в процессе десериализации (для предотвращения получения неполного object "__PHP_Incomplete_Class"). Используйте ваш php.ini, ini_set() или .htaccess-файл для определения 'unserialize_callback_func'. Каждый раз, когда undefined класс должен быть инстанциирован, вызывается эта установка. Для отключения этого просто сделайте эту установку пустой.

   
 
 автор: Atheist   (18.04.2008 в 17:15)   письмо автору
 
   для: Zmej   (17.04.2008 в 14:38)
 

; The unserialize callback function will called (with the undefind class'
; name as parameter), if the unserializer finds an undefined class
; which should be instanciated.
; A warning appears if the specified function is not defined, or if the
; function doesn't include/implement the missing class.
; So only set this entry, if you really want to implement such a
; callback-function.


Я понял это так:

<?php
function _unserialize($class_name)
{
    
error_log("Class '{$class_name}' could not be found");

    class 
test
    
{
        
    }
}

var_dump(unserialize('O:4:"test":0:{}'));

ini_set('unserialize_callback_func''_unserialize');

var_dump(unserialize('O:4:"test":0:{}'));
?>


То есть если при десериализации встречается объект неизвестного класса, то можно поставить обработчик, который об ошибке объявит или объявит нужный класс. И прочее.

   
 
 автор: Zmej   (17.04.2008 в 14:38)   письмо автору
 
 

привет всем!

Кто-нибудь может определенно подсказать, что делает вот эта директива (unserialize_callback_func) в рнр.ini. Понимаю, что связана десериализацией... но для чего нужна конкретно и в каких случаях полезна?

   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования