| |
|
|
| | у меня основные конфигурационные установки для написанного класса храняться в ini файле, и в процессе инициализации класса парсяться в многомерный массив. я вот думаю, а если посли первой инициализации все эти установки заносились бы в сессию чтобы повторно не читать из файла при последующих обращениях к библиотеке с классом (при новой загрузке страницы). Есть ли смысл так делать,в плане облегчения работы сервера и уменьшения врпемени обработки кода?
И насколько это будет безопасно, если например в массиве будут лежать данные для подключения к mySQL? | |
| |
|
|
| |
|
|
| |
для: localGhost
(14.02.2006 в 13:56)
| | | В принципе в этом есть смысл, данные из сессии получить нельзя - они остаются на сервере и клиенту пересылается только идентификатор сессии. Я пока никаких изъянов не вижу. Правда осуществлять это следует только в том случае, если у вас проблемы с производительностью, иначе просто код усложните, сессия это всё-таки как ни крути глобальные данные, а их интенсивное использование очень здорово снижает читабельность и качество программы. | |
| |
|
|
| |
|
|
| |
для: cheops
(14.02.2006 в 14:38)
| | | в плане усложнения, ИМХО получаеться не так уж и громоздко, а вот по части производительности, сделал пару тестов если кому интересно, конечно на них опираться полостью наверно нельзя, делал на локалке. Код:
<?
session_start();
function get_microtime () { list ($usec, $sec) = explode (" ", microtime ()); return $usec + $sec; }
function pre ($str) { print "<pre>"; print_r ($str); print "</pre>"; }
define ("MICROTIME_START", get_microtime ());
function get_microtime_end() {
defined ("MICROTIME_START")? $return = round ((get_microtime () - MICROTIME_START), 7): $return = "";
return $return;
}
//
echo get_microtime_end();
//
//$_SESSION["GB"] = parse_ini_file ("file.ini", true);
// pre (parse_ini_file ("file.ini", true));
pre ($_SESSION["GB"]);
?>
<br>
<?
echo get_microtime_end();
?>
|
результат:
с выводом из файла:
0.0001149
0.0025251
с выводом из сессии
0.0001128
0.000417
|
содержимое массива писать не стал, оставил только время. Первая цифра до вызова массива, вторая после... В ини файле 6 строк.
Как видно из цифр, результат вполне удовлетворяющий. Но вот еще вопрос. От переполнения сессии тормозить все это дело не начнет? если будет массив из (допустим) 30-50 записей? | |
| |
|
|
| |
|
|
| |
для: localGhost
(14.02.2006 в 13:56)
| | | а что мешает сделат вместо *.ini файла *.php
например conf.php
в начале ставим права доступа
потмо
$p1= "";
$p2 ="";
---------------------------------------------------
а в index.php :
require_once(conf.php);
нужные переменные потом в функциях обьявляем gobal
и работаем с ними.
соответственно conf.php правим либо руками либо пишем скрипт обновления.
по идее в conf в таком случае можнозагнать кучу переменных, потер искорости минимальны. | |
| |
|
|
| |
|
|
| |
для: sulla
(14.02.2006 в 23:24)
| | | не, ну это понятно, впринципе раньше так и делал........ щас мне удобней использовать ини.... правд о производительности раньше как-то не думал........Если нужно использовать мультиязыковой сайт сайт, вобще красота... очень удобно. Единственная заморочка, это что при включенном safe mode приходиться указывать абсолютный путь к файлу. | |
| |
|
|