phpToStr

Класс разработан для преобразования php-переменных и массивов в строку.

Синтаксис: toStr( $data='', $name='', $associations=array() )

$data - массив или переменная

$name - имя переменной которая будет содержать данные $data

$associations - массив ассоциций для ключей, применяется в редких случаях о которых можно почитать ниже

Пример:

имеем массив в пхп-скрипте:

$my_array = array('очень','интересный'=>'полезный','класс');

нужно записать массив в таком же виде в нужный файл, который можно подключать с помощью include()

$str_array = $GLOBALS["phpToStr"]->toStr($my_array, 'my_name');

помним, что записать в файл очень удобно с помощью функции write_

write_( '<?php '. $str_array .' ?>', 'dir/file.php');

теперь, в нужный момент получаем доступ к массиву:

include('dir/file.php');

проверим правильность сохранения:

print_r($my_name);

Таким образом можно сохранять в файл сразу множество массивов:

$cache  = '<?php '.
$GLOBALS["phpToStr"]->toStr($my_array, 'this->my_name').
$GLOBALS["phpToStr"]->toStr($this->base_id, 'this->base_id', $associations).
$GLOBALS["phpToStr"]->toStr($this->index_id, 'this->index_id').' ?>';

write_( $cache, 'dir/file.php');

Примечание о $associations:

Применяется в случаях, когда файл в который будет помещен массив $data нужно сделать как можно минимальным по размеру.

Делается это с помощью замены имен ключей на короткие названия.

К примеру у Вас есть название ключа image_file_path, представим что у нас 5 000 таких имен ключей, чтобы не писать в файл image_file_path, можно заменить имя ключа например на цифру 1. Для этого заведем массив следующего вида:

$associations=array('image_file_path'=1);

или

$associations['image_file_path'] = 1;

Таким образом в файл будет записано 5 000 раз единицы вместо image_file_path и в результате мы получим файл в 5 000 раз меньшего размера, что конечно повлияет на его загрузку с помощью конструкции include()


29.07.2009 09:31