Пишу скрипты для сайта и в нем встречаются часто повторяющиеся куски кода, типа проверки кукис пользователя, на предмет авторизован ли он. Сейчас у меня получается, что в каждом .php файле делаю эту проверку и поэтому в каждый .php файл засовываю код этой проверки. Хотел спросить, оптимальный ли это вариант или есть более оптимальные? Например, может лучше подключать проверку кикис инклудом? Или может еще есть какие варианты... Интересно знать при этом недостатки и преимущества... Наверно если подключать инклудом, то скорость работы скрипта хоть чуть-чуть, но упадет, а нагрузка на винт возрастет?
Самое оптимальное, это когда у тебя подключены все инклуды 1 раз, все что ниже подключается все будет доступно. А значит и функции которые выполнились или выполняются выше, будут доступны и проверены. Тем самым вы напишете только название функции в которой происходит проверка. И все файлы подключите в ней. Чтобы не писать в файлах постоянно. В файлах дописывать: Код (PHP): if(!defined('CONSTANTA')) { exit('<meta> редирект'); } ))
Your, но при инклудах возрастает и нагрузка на диск? Например если у меня 10 инклудов, то при вызове скрипта - 10 раз запрашиваются файлы на диске и значит нагрузка на диск возрастает в 10 раз. А так как обращение к диску это сравнительно медленная операция, то и время выполнения скрипта возрастает... Верно?
Так я функциями и пишу. Вопрос как раз в этом и состоит, если у меня в каждом скрипте в среднем по 10 функций, то как это оптимально организовать: в каждый вызываемый скрипт их засовывать или на каждую делать файл и подключать инклудами? Может еще есть варианты...
ты пишешь файлик в нем 10 инклудов потом подключаешь этот один файлик раз заинклюдились и все... ЗЫ у меня порой ощущения, что тут что не прогер, то фейсбук на 6 миллиардов юзеров в день пишет с другой стороны это верный поход!
Написать библиотеку из 1000 функций в один файл и не париться. Объявление 1000 функций будет работать быстрее, чем всего 10 инклудов, инфа 100%
поставить ускоритель и вобще забить на этот вопрос, ибо подключение файлов в любом количестве будет занимать пяток мс.
раз, и 10 раз файлы функций заинклюдились? Раз инфа 100%, то такой вариант подходит... Не знал, что объявление функций ресурсов не тянет. Так и буду делать. Сначала надо сделать, а потом ускорять На данном этапе для меня более важно единую правильную архитектуру наметить и следовать ей.
не имеет отношения к количеству файлов =) Добавлено спустя 2 минуты 12 секунд: что вот ты веришь джентльмену на слово? Возьми да померяй. ПХП позволяет мерить ажно микросекундами
этот мем =) Но раз такое дело, интересно измерить viewtopic.php?f=5&t=19244&p=336360#p336360 1 млн. инклуд одного и того же пустого файла - 14 секунд.