zilber 3 Опубликовано: 9 июля 2016 Рассказать Опубликовано: 9 июля 2016 Приветствую! Никак мне на форуме не зацепиться, прихожу и ухожу с разницей в год... Как известно, в DLE в одном файле PHP собраны все действия по определенной функции/разделу, прогулка по которым осуществляется через mod= & do= . Вопрос - ничего не утверждая, просто интересуясь - раскидать код по нескольким файлам и точно также через mod= & do= к ним обращаться - не сильно медленнее ли будет? Удобнее-то наверняка, простыню визировать все время не нужно. Буду благодарен за мнения, плюс надеюсь на коммент от CELSOFT. Всем спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 076 Опубликовано: 9 июля 2016 Рассказать Опубликовано: 9 июля 2016 2 часа назад, zilber сказал: Вопрос - ничего не утверждая, просто интересуясь - раскидать код по нескольким файлам и точно также через mod= & do= к ним обращаться - не сильно медленнее ли будет? Будет медленнее, а насколько сильно, это вопрос филосовский. На глаз вы этого не заметите в принципе, а вот если будет одновременно десятки тысяч обращений то это уже будет заметно. Опять таки очень все сильно будет зависит от организации файловой системы на сервере все зависит. Открытие каждого дополнительного файла, это задействие дополнительного файлового дескриптора в операционной системе, а они тоже имеют ограничения, соответственно только на большой нагрузке вы сможете увидеть разницу. При небольшой посещаемости сайта, разницы нет никакой. Цитата Ссылка на сообщение Поделиться на других сайтах
zilber 3 Опубликовано: 11 июля 2016 Рассказать Опубликовано: 11 июля 2016 (изменено) Автор В 09.07.2016 в 16:47, celsoft сказал: Будет медленнее, а насколько сильно, это вопрос филосовский. На глаз вы этого не заметите в принципе, а вот если будет одновременно десятки тысяч обращений то это уже будет заметно. Опять таки очень все сильно будет зависит от организации файловой системы на сервере все зависит. Открытие каждого дополнительного файла, это задействие дополнительного файлового дескриптора в операционной системе, а они тоже имеют ограничения, соответственно только на большой нагрузке вы сможете увидеть разницу. При небольшой посещаемости сайта, разницы нет никакой. Благодарю Вас за ответ. Посещаемость всегда будет низкой - это внутренний сайт компании на 55 человек, в котором ведется непубличная статистика деятельности, на идеологическом каркасе DLE. И написано столько кода для обработки данных в каждом разделе, что храня его в одном файле - уже сложно оперировать такими простынями. Поэтому и возникла идея раскидать простыни по более мелким файлам по какому-либо узкому признаку, например по исполняемым функциям. Буду благодарен, если поделитесь методом "от гуру" оперирования такими простынями - не мышкой же вы прокручиваете и вряд ли находите код через поиск. Использую Komodo, если что. Update: посмотрел - средний вес файлов php в папке mods - 180кб Спасибо. Изменено 11 июля 2016 пользователем zilber Цитата Ссылка на сообщение Поделиться на других сайтах
pop-science 0 Опубликовано: 15 июля 2016 Рассказать Опубликовано: 15 июля 2016 Zilber, IMO лучше разбивать свой модуль по файлам, а не собирать всё в одном файле (дальше всё пишется, подразумевая, что вы используете ООП, и не собираетесь после того как напишете свой модуль, его забрасывать). Пользуйтесь неймспейсами и автозагрузкой классов, если это будет реально большой модуль. Применяйте ООП, если собираетесь писать что-то более-менее крупное. В таком случае, не будет "простыней". По идее, большинство IDE должно уметь перебрасывать к определению метода по какой-нибудь комбинации клавиш, вроде контрол+клик. Про загрузку большого кол-ва файлов - это создает дополнительную нагрузку, но сейчас есть много средств, которые её сводят к минимуму. Начиная от кеширования файлов на уровне ОС и заканчивая всякими opcache в PHP. Будут вопросы - обращайтесь. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.