Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Include без выполнения кода.
Если файлы подключать через include/require, то после подключения первого файла - begin.php - сервер его тут-же выполняет, не находит закрытия условия, которое находится в файле end.php, и выдает ошибку - "syntax error, unexpected $end".
Подскажите, как можно подключить файлы без выполнения, а потом их выполнить вместе?
esterio
Отправлено: 16 Июля, 2013 - 14:18:42
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013 Откуда: https://vhol.org
Помог: 3 раз(а)
Приведенный в примере код упрощен до нельзя - в реале у меня простыня в 1500 строк + вызовы функций на еще сколько же строк, и желательно разбить и подключить их именно так, как стоит вопрос. Условие + действие + закрытие условия, а потом выполнить. Можно ли такое седлать? Если нет, тогда будем применять метод из ответа.
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
igosja пишет:
Если нет, тогда будем применять метод из первого ответа.
Я че то пропустил. А какой первый ответ.
Что мешает загнать все функции в файл functions.php, подключить его, а потом по условию испольнять ту или инную функцию
П.С.
igosja пишет:
простыня в 1500 строк
Следствие плохой проектировкы
soffrick
Отправлено: 16 Июля, 2013 - 14:29:56
Посетитель
Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012 Откуда: Россия, Москва
Помог: 17 раз(а)
igosja пишет:
Приведенный в примере код упрощен до нельзя - в реале у меня простыня в 1500 строк + вызовы функций на еще сколько же строк, и желательно разбить и подключить их именно так, как стоит вопрос. Условие + действие + закрытие условия, а потом выполнить. Можно ли такое седлать? Если нет, тогда будем применять метод из ответа.
head.php пишет:
if($var
content.php пишет:
== 'ok'
footer.php пишет:
){
echo 'vse ok';
}
смысл такое городить? (Добавление)
попробуй буферизацию вывода для такого "кода"
или
читай файлы, объединяй их в одну строку, и потом её корми eval'у
Нужно его разбить так:
файл begin.php - if($a == 1) {
файл main.php - /*выполняем что-то*/
файл end.php - }
else {/*выдаем сообщение об ошибке*/}
Если файлы подключать через include/require, то после подключения первого файла - begin.php - сервер его тут-же выполняет, не находит закрытия условия, которое находится в файле end.php, и выдает ошибку - "syntax error, unexpected $end".
Подскажите, как можно подключить файлы без выполнения, а потом их выполнить вместе?
----- Правильный вопрос - уже половина правильного ответа!
p.s. индусы повсюду, будьте осторожны!
DelphinPRO
Отправлено: 16 Июля, 2013 - 17:23:32
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
igosja пишет:
Единственным нормальным ответом был самый первый
этот ответ в принципе единственный. по другому никак. синтаксические конструции нельзя разкладывать по нескольким файлам. и php вам об этом однозначно скажет, если вы попытаетесь.
----- Чем больше узнаю, тем больше я не знаю.
igosja
Отправлено: 20 Июля, 2013 - 22:14:46
Гость
Покинул форум
Сообщений всего: 77
Дата рег-ции: Март 2013 Откуда: https://vhol.org
Помог: 3 раз(а)
esterio пишет:
igosja пишет:
простыня в 1500 строк
Следствие плохой проектировкы
Попали в точку. База данных была недостаточно хорошо нормализирована, и теперь приходиться писать километровые файлы для работы с таблицами.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.