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
Форумы портала PHP.SU :: Версия для печати :: Include без выполнения кода.
Форумы портала PHP.SU » » Вопросы новичков » Include без выполнения кода.

Страниц (2): [1] 2 »
 

1. igosja - 16 Июля, 2013 - 14:12:19 - перейти к сообщению
Здравствуйте.

Есть код.

PHP:
скопировать код в буфер обмена
  1. if($a == 1) {/*выполняем что-то*/}
  2. else {/*выдаем сообщение об ошибке*/}


Нужно его разбить так:
файл begin.php -

файл main.php -
PHP:
скопировать код в буфер обмена
  1. /*выполняем что-то*/

файл end.php -
PHP:
скопировать код в буфер обмена
  1. }
  2. else {/*выдаем сообщение об ошибке*/}


Если файлы подключать через include/require, то после подключения первого файла - begin.php - сервер его тут-же выполняет, не находит закрытия условия, которое находится в файле end.php, и выдает ошибку - "syntax error, unexpected $end".

Подскажите, как можно подключить файлы без выполнения, а потом их выполнить вместе?
2. esterio - 16 Июля, 2013 - 14:18:42 - перейти к сообщению
begin.php
PHP:
скопировать код в буфер обмена
  1. if($a == 1)
  2.     include('main.php');
  3. else
  4.    include('end.php');


main.php
PHP:
скопировать код в буфер обмена
  1. echo 'main.php';


end.php
PHP:
скопировать код в буфер обмена
  1. echo 'end.php';
3. igosja - 16 Июля, 2013 - 14:26:04 - перейти к сообщению
Приведенный в примере код упрощен до нельзя - в реале у меня простыня в 1500 строк + вызовы функций на еще сколько же строк, и желательно разбить и подключить их именно так, как стоит вопрос. Условие + действие + закрытие условия, а потом выполнить. Можно ли такое седлать? Если нет, тогда будем применять метод из ответа.
4. esterio - 16 Июля, 2013 - 14:29:14 - перейти к сообщению
igosja пишет:
Если нет, тогда будем применять метод из первого ответа.

Я че то пропустил. А какой первый ответ.

Что мешает загнать все функции в файл functions.php, подключить его, а потом по условию испольнять ту или инную функцию

П.С.
igosja пишет:
простыня в 1500 строк

Следствие плохой проектировкы
5. soffrick - 16 Июля, 2013 - 14:29:56 - перейти к сообщению
igosja пишет:
Приведенный в примере код упрощен до нельзя - в реале у меня простыня в 1500 строк + вызовы функций на еще сколько же строк, и желательно разбить и подключить их именно так, как стоит вопрос. Условие + действие + закрытие условия, а потом выполнить. Можно ли такое седлать? Если нет, тогда будем применять метод из ответа.

head.php пишет:
if($var

content.php пишет:
== 'ok'

footer.php пишет:
){
echo 'vse ok';
}

смысл такое городить?
(Добавление)
попробуй буферизацию вывода для такого "кода"
или
читай файлы, объединяй их в одну строку, и потом её корми eval'у Ха-ха
6. _Dark_ - 16 Июля, 2013 - 14:32:23 - перейти к сообщению
Зачем так делать? Типо мего-защита или что это такое?
7. igosja - 16 Июля, 2013 - 14:32:33 - перейти к сообщению
esterio пишет:
Я че то пропустил. А какой первый ответ.
Ваш ответ и был первым. Это я написал на случай, если кто еще что ответит.
8. esterio - 16 Июля, 2013 - 14:48:17 - перейти к сообщению
igosja
soffrick пишет:
смысл такое городить?

такое интерпретатор даже не пропустит
9. soffrick - 16 Июля, 2013 - 15:15:03 - перейти к сообщению
esterio пишет:
такое интерпретатор даже не пропустит

какое?
10. esterio - 16 Июля, 2013 - 15:51:55 - перейти к сообщению
soffrick пишет:
head.php пишет:
if($var

content.php пишет:
== 'ok'

footer.php пишет:
){
echo 'vse ok';
}
11. soffrick - 16 Июля, 2013 - 16:33:49 - перейти к сообщению
esterio пишет:
soffrick пишет:
head.php пишет:
if($var

content.php пишет:
== 'ok'

footer.php пишет:
){
echo 'vse ok';
}

почему?
(Добавление)
это и не надо кормить интерператору;
автор же хочет разбить как попало 1 файл на несколько файлов
12. igosja - 16 Июля, 2013 - 17:08:14 - перейти к сообщению
Всем спасибо. Единственным нормальным ответом был самый первый, остальное - обычные подколы, типа
soffrick пишет:
это и не надо кормить интерператору;
автор же хочет разбить как попало 1 файл на несколько файлов
.
13. soffrick - 16 Июля, 2013 - 17:17:32 - перейти к сообщению
igosja пишет:
обычные подколы
soffrick пишет:
автор же хочет разбить как попало 1 файл на несколько файлов
.

ок, тогда поясни мне что ты хочешь сделать
Спойлер (Отобразить)

разве не
Цитата:
разбить как попало 1 файл на несколько файлов

(Добавление)
esterio пишет:
PHP:
скопировать код в буфер обмена
  1. if($a == 1)
  2.     include('main.php');
  3. else
  4.    include('end.php');

как жаль что ты не мог придумать это сам Огорчение
14. DelphinPRO - 16 Июля, 2013 - 17:23:32 - перейти к сообщению
igosja пишет:
Единственным нормальным ответом был самый первый

этот ответ в принципе единственный. по другому никак. синтаксические конструции нельзя разкладывать по нескольким файлам. и php вам об этом однозначно скажет, если вы попытаетесь.
15. igosja - 20 Июля, 2013 - 22:14:46 - перейти к сообщению
esterio пишет:
igosja пишет:
простыня в 1500 строк
Следствие плохой проектировкы
Попали в точку. База данных была недостаточно хорошо нормализирована, и теперь приходиться писать километровые файлы для работы с таблицами.

 

Powered by ExBB FM 1.0 RC1