Код (Text): for($i=0; $i<count($data); $i++){ include("./11.php"); } вопрос - при каждой итерации будет выполнено чтения файла с диска и собсно его "инклуд", или пхп один раз проинклудит и потом "запомнит" это? собсно вопрос вылился из того, что есть некий код, который в теле цикла производит одни и те же операции над входящим массивом, не хочется копипастить по разным скриптам одно и тоже, тем более, при правке придется править везде, вот и подумал над кодом выше.
Vitas что "ай-ай-ай"? Sergey89 опять повторяется все та же ситуация я не прошу подсказать мне решение, я спрашиваю конкретно по той ситуации мож кто знает ответ
antonn Могу ошибаться, но вроде при таком коде каждый раз инклудится. Вообще проверить несложно - добавь себе во включаемый файл вывод чего-нибудь (upd. динамически изменяющегося ) и прогони цикл.
как показали эксперименты, include_once() честно инклудится один раз, и так же срабатывает только один раз Сергею "Фи" %) decoder да, файлмоном глянул - каждый раз инклудит, сволочь
antonn Оформи этот код как функцию или класс, и напиши require_once. Пусть файл подключится один раз, это нормально, а вот нужную тебе функцию/метод хоть завызывайся потом. *закатывает глаза* Если тебя это так напрягает - поставь акселератор. Но уверен, затраты на чтение/парсинг файла по сравнению затратами на выполнение твоего кода, находящегося внутри, ничтожны. Файловые операции кстати, тоже кешируются, только не на уровне похапэ, а на уровне файловой системы.
инклудящийся код нельзя оформить функций, там слишком много параметров и они определяются при написании самого тела цикла, как параметры функции перечислять их все будет затруднительно. думаю "напрягает" - это несколько не подходящее определение. Я бы сказал "мне интересно". писал когда нибудь свой скрипт-движек? ручками, не используя всякие обертки над lua, регулярки... вот тогда бы понял, что там далеко не "просто чтение файла". тему можно закрыть
antonn В подпись мне посмотри 100% свой код. Чтение и парсинг, как я написал выше... а что еще? Оформить функцией (или набором функций, или классом) можно все, что угодно - собственно, все программисты предпочитают так и делать, вместо того, чтобы создавать PHP-файлы, выполняющие код в момент инклюда и принимающие аргументы непонятно откуда... это банально чревато проблемами с безопасностью. Ну и проблемы, как у тебя, тоже появляются
Dagdamor я особо уточнил - ручками. не всякие готовые пхп/lua/регулярки, а ручками, самому обрабатывать текстик, самому выделять и инициализировать переменные, все самому. А не юзать готовый и простой как швабра ПХП. Не хочу обижать ПХПшников, но скажу, что по сравнению с Си и Дельфи этот ПХП - просто сказка, я пока на нем писал - обленился неслабо, тут многое уже сделано, все просто, никаких низкоуровневых ковыряний и приведений типов, регулярки применяются тока в путь, текстовые файлы могут быть прочитаны и выполнены(!), за памятью слетит само, все просто и легко. То, что у тебя в подписи - простая "СМСка на ПХП", не более. Сделаешь на Си в CGI - поверю, что там мега сложно и опыт есть. А так - извини, ты меня не понял. И не поймешь, пока не оторвешся от "сверхвысокоуровнего" языка ПХП. И да - делать парсеры в ПХП - это просто и легко (по сравнению с теми же Си/дельфи), ПХП и создан для работы с текстом, это его стезя, он - почти готовый парсер, остается только употребить правильно.
antonn Не вижу преимуществ в твоем подходе. Это все равно что сказать музыканту "вот у тебя рояль, готовый и простой как швабра, садись и играй, просто сказка. А у меня орган на паровом приводе, мало того, что его сначала самому построить надо, так потом все время смазывать, подкручивать, уголь в топку кидать". Системное программирование я прошел в прошлом. Был и Си, и ассемблер. Вся эта головная боль со слежением за памятью, ручным разбором выражений и обработке протоколов мне, по большому счету, неинтересна. Мне интереснее сконцентрироваться на логике работы приложения, на структуре таблиц, на удобстве пользовательского интерфейса, на внутренней красоте системы. Постоянно спотыкаясь о грабли и недостатки языка, это просто невозможно сделать.
Dagdamor +1 - и позволю себе заметить тут форум по ПХП, к вопросу о "Сделаешь на Си в CGI ..." я ещё и админки писал на дельфах и сервак пытался собрать (аля CGI)- вспоминать страшно! зачем, как говорится, изобретать велосипед ? ПХП сказка для веба - танцуй от задачи и используй тот инструмент который лучше подходит - наверное в этом основное отличие программера от кодера