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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: файлы и сессии
 
 автор: localGhost   (14.02.2006 в 13:56)   письмо автору
 
 

у меня основные конфигурационные установки для написанного класса храняться в ini файле, и в процессе инициализации класса парсяться в многомерный массив. я вот думаю, а если посли первой инициализации все эти установки заносились бы в сессию чтобы повторно не читать из файла при последующих обращениях к библиотеке с классом (при новой загрузке страницы). Есть ли смысл так делать,в плане облегчения работы сервера и уменьшения врпемени обработки кода?

И насколько это будет безопасно, если например в массиве будут лежать данные для подключения к mySQL?

   
 
 автор: cheops   (14.02.2006 в 14:38)   письмо автору
 
   для: localGhost   (14.02.2006 в 13:56)
 

В принципе в этом есть смысл, данные из сессии получить нельзя - они остаются на сервере и клиенту пересылается только идентификатор сессии. Я пока никаких изъянов не вижу. Правда осуществлять это следует только в том случае, если у вас проблемы с производительностью, иначе просто код усложните, сессия это всё-таки как ни крути глобальные данные, а их интенсивное использование очень здорово снижает читабельность и качество программы.

   
 
 автор: localGhost   (14.02.2006 в 15:11)   письмо автору
 
   для: 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 записей?

   
 
 автор: sulla   (14.02.2006 в 23:24)   письмо автору
 
   для: localGhost   (14.02.2006 в 13:56)
 

а что мешает сделат вместо *.ini файла *.php
например conf.php
в начале ставим права доступа
потмо
$p1= "";
$p2 ="";

---------------------------------------------------

а в index.php :

require_once(conf.php);

нужные переменные потом в функциях обьявляем gobal
и работаем с ними.

соответственно conf.php правим либо руками либо пишем скрипт обновления.


по идее в conf в таком случае можнозагнать кучу переменных, потер искорости минимальны.

   
 
 автор: localGhost   (15.02.2006 в 00:50)   письмо автору
 
   для: sulla   (14.02.2006 в 23:24)
 

не, ну это понятно, впринципе раньше так и делал........ щас мне удобней использовать ини.... правд о производительности раньше как-то не думал........Если нужно использовать мультиязыковой сайт сайт, вобще красота... очень удобно. Единственная заморочка, это что при включенном safe mode приходиться указывать абсолютный путь к файлу.

   
Rambler's Top100
вверх

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