Помощник
|
Многократное включение кода |
alexdrob
|
Сообщение
#1
|
||
|
|
||
|
|||
BigBoy_hb |
23.6.2011, 3:29;
Ответить: BigBoy_hb
Сообщение
#2
|
|
никогда над этим раньше не задумывался)
|
|
|
alexdrob
|
Сообщение
#3
|
|
Я сам сегодня первый раз задумался, и то случайно узнал такую разницу.
Встал вопрос о многократном включении кода типа <a href="тут что то">тут что то</a> десятки и сотни раз. и обнаружил что инклуд как то не хорошо справляется с этим. попробовал eval, он лучше, но str_replace практически на таком же уровне, 0.0019371509552002 //eval 0.013731002807617 // include 0.00099897384643555 //str_replace хотя в 2 раза и отстаёт. Это результаты для 4х замен. Но вот беда, в коде могут быть не только замены но и массивы, типа <a href="тут что то"><?php foreach () {?>что то<?php } ?></a> а тут уже с str_replace просто не обойтись одним вызовом. и тут eval победил :) да и в коде вообще может встретится вызов функции, вообщем str_replace не устраивает :) |
|
|
ZhukV |
23.6.2011, 3:38;
Ответить: ZhukV
Сообщение
#4
|
|
По сути значит разница в функциях - file_get_contents && include.
Скорее всего что при include идет больше проверок. Мне кажется, что использовании функции fopen -> fread -> fclose - даст лучшую скорость, но не уверен! Попробуй еще require $file |
|
|
alexdrob
|
Сообщение
#5
|
|
ну это скорость загрузки файла в переменную, тут не проблема поэкспериментировать :)
хотя... наверное всё равно быстрей чем с eval не выйдет. |
|
|
alexdrob
|
Сообщение
#6
|
|
|
|
|
alexdrob
|
Сообщение
#7
|
|
|
<ul> {for items}<li>{item}</li>{end} </ul> Да уж, я наверное откажусь и от eval Даже имея массив в коде, str_replace при небольшом шаблоне всё равно выигрывает в скорости. [PHP]$t3 = get_sec(); $template = file_get_contents('1.html'); preg_match('/^(.*){for (.*)}(.*){end}(.*)$/Us',$template,$match); var_dump($match); $str = $match[1]; foreach ($$match[2] as $item) { $str .= str_replace('{item}', $item, $match[3]); } $str .= $match[4]; echo $str; $t3 = get_sec() - $t3; echo "$t3";[/PHP] [PHP]0.00078296661376953 // eval 0.0004730224609375 // str_replace[/PHP] Ну а исходя из того что мне нужны небольшие шаблончики, я воспользуюсь всё таки реплейсом.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Дайте, пожалуйста, фрагмент кода на джаваскрипте для калькулятора на сайте | 3 | re-search | 1379 | 7.7.2019, 15:20 автор: web-coder |
|
Чистка вредного кода на сайтах WP | 0 | SkyFire | 2301 | 24.12.2017, 11:30 автор: SkyFire |
|
Нужна помощь в изменении кода сайта. | 6 | sanuzelservice | 5920 | 2.12.2015, 15:07 автор: -sanuzelservice- |
|
Услуги по валидации кода | 37 | alizid1 | 14070 | 31.1.2015, 15:02 автор: kstnews |
|
Шаблоны для word press, нужен человек, знающий HTML кода, умеющий их редактировать. | 0 | DmitryPro | 2981 | 21.6.2014, 15:02 автор: -Mr.Usluga- |
Текстовая версия | Сейчас: 24.4.2024, 6:47 |