Форуми / National / Russian / Идеи / Избыточность php кода

Предлагаю в этой теме собирать (с последующим устранением) координаты избыточных(ненужных) участков кода

Macik
#35176 21.08.2012 17:29
#34759 Dayver:

А еще мне кажется что все эти библиотеки API нужно просто взять за правило подключать (ели оно глобальное например как кеш или экстраполя и формы) к примеру только в common.php (естесно ведя спец параметр в datas/config.php которым разработчик сможет отключать все это при необходимости) .... и тогда в расширениях не придется по десять раз инклудить .... а если расширению требуется свой библиотека или API то подключать ее в том же common.php с помощью хука (например input или global)

 

В общем согласен - избыточность убирать надо. Но что касается все вызовы перенести в «common» - тут вопрос, что «дороже» будет: перекроет ли экономия от обрезания require_once затраты на лишний цикл хуков для каждого из модулей который хочет загрузить свою библиотеку.

Строго говоря, надо запустить профайлер и посмотреть сколько «сжирает» require_once как в примере выше и посмотреть какой это процент от общих расходов. И думается мне, что в топе будут совсем другие вещи, которые можно (и нужно) оптимизировать.

 

Добавлено 3 минуты спустя:

да к тому же приведенный пример (ссылка) не очень актуален, т.к. это режим редактирования - его вызывает ограниченное количество пользователей, ограниченное количество раз. Т.е. это скорее «режим админки» там скорость менее важна, чем на вызове страниц или категорий.

Добавлено 3 недели спустя:

В продолжение темы: настроил у себя на локальной машине расширение для PHP: «Inclued». 

Оно собирает статистику по подключению модулей к проекту и создает массив. Потом его можно преобразовать в графическую схему.

Вот для примера: https://s3-eu-west-1.amazonaws.com/static.galaxyhost.org/cotonti/cotonti_inclued.png (1,1Мб  4300х3400 pix)

Это схема вызово модулей для главной страницы Котонти (почти стандартная установлка из коробки, просто для примера). 

Сплошные линии это первичный вызов файла. Пунктирные это повторное обращение к файлу. Можно медитировать.

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F

Відредаговано: Macik (14.09.2012 21:51, 12 років тому)