Допустим у меня на сервере есть много php функций в одном файле. Стоит ли мне разбивать этот файл на маленькие подфайлы, и уже подфайлы подключать к соответствующим страницам на сайте или нет? Как при таком разбиении изменится скорость загрузки страницы? Аналогичный вопрос про js функции.
http://ru2.php.net/manual/en/function.s ... gister.php Вот мой автолоад: http://pyha.ru/forum/topic/5359.0
не вижу большого смысла писать свои автолоады. они все равно будут хуже тех, что уже написаны. я взял готовый из второй доктрины. идеален! грузит и 5.3 и старые 5.2 библиотеки типа Zend и PHPExcel . PHP: <?php require_once 'Doctrine/Common/ClassLoader.php'; $zendClassLoader= new Common\ClassLoader("Zend", realpath(APPLICATION_PATH . '/../library')); $zendClassLoader->setNamespaceSeparator("_"); $zendClassLoader->register(); $mainClassLoader= new Common\ClassLoader(); $mainClassLoader->register(); ракета - автолоад!
Объекты нужны, когда они нужны. В его случае 30 функций могут иметь слабую связь. realasd 17 килобайт - это мало. Осмелюсь даже предположить, что загрузка двух-трех файлов по 6 килобайт будет дольше, чем загрузка одного в 17. Hight Обосрали тебя там) Я тоже ненавижу код в одну строку. Условие и блок в одну строку - это ад. Когда сканируешь код (чтобы понять функционал), на этом месте просто ступор. Делать каждый раз скандир - это слишком расточительно. Даже если он будет выполняться один раз для каждого пользователя. Что будет, если подключатся 10 человек одновременно? А если 50? Другой вопрос, если делать: PHP: <?php //... if (time() - filemtime("dirfiles.php") > 600) { Hight_autoload_scan_dirs(CLASSES_DIRS, $list); file_put_contents("dirfiles.php", '<?php'.PHP_EOL.'$list = '.var_export($list, true)); } else include "dirfiles.php" if(array_ke ... ?>
Hight Я тоже пользуюсь чем-то подобным, только вместо scandir - glob('/*.php'). Kreker и да кеширую. Правда надо не забывать убивать кеш при добавлении классов.
никто не мешает сделать свой объект для каждой функции да можно вообще ничего не писать... Volt(220) Нафига вообще сканить ФС для автолоада, если есть способы это не делать?
Костян Какие? Кроме кодирования пути в имени класса и карты классов (которая, по сути, то же сканирование выполненное руками).