[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: require_once медленнее чем самописная функция
Страницы: 1, 2
inpost
sergeiss
Как же? Я сказал про область видимости и return. Вполне годных 2 замечания.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
volter9
Зря я затеял этот холивар (создал эту тему)... надо было написать в заголовке "субъективная функция которая годна для ТС, замечание: функция быстрее чем require_once". Так что я поставлю шах и мат себе в это начинающемся холиваре: мне эта функция полезна и служит по назначению, я ее никому не втираю. А то что там нету ни return'а, ни области видимости, то это был мой изначальный замысел, и мне это ненужно сейчас, и не нужно будет в будущем (типа encapsulation). Спасибо за внимание, и прощу прощение если отнял у кого то время и нервов smile.gif

Удачи всем!

_____________
Мой блог
sergeiss
Цитата (volter9 @ 6.01.2015 - 23:12)
Зря я затеял этот холивар (создал эту тему)...

Не зря.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
inpost
volter9
Разве? Ты сюда пришел учиться и опытом набил себе шишки, явно стал мудрее smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
mvg
Из-за 2мс городить огород, пользовать костыли сомнительного происхождения, поганить код я не готов.
Однозначно выбираю requere_once/include_once!
sergeiss
mvg, ты еще эти миллисекунды раздели на количество циклов.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
twin
sergeiss
Собственно там нечего и объяснять. Инструкции _once страхуют скрипт от повторного подключения файла. Это их основное предназначение. Изобретенный велосипед ни от чего не страхует. Это простая банальная проверка.

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

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

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
chee
volter9, если повторить поведение по подключению, то твоя функция работает в два раза дольше

<?php

function
load ($file) {
$file = stream_resolve_include_path($file);
static $files = null;
$files or $files = [];

if (!isset($files[$file])) {

require $file;

$files[$file] = true;
}
}



echo 'require_once', "\n";

$start = microtime(true);
for ($x = 0; $x < 20000; $x++) {
require_once 'inc.php';
require_once './inc.php';
require_once __DIR__ . '/inc.php';
}
echo microtime(true) - $start . "\n";

echo 'load function', "\n";
$start = microtime(true);
for ($x = 0; $x < 20000; $x++) {
load('inc.php');
load('./inc.php');
load(__DIR__ . '/inc.php');
}
echo microtime(true) - $start . "\n";



require_once
0.077381134033203
load function
0.14387607574463




_____________
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.