Вопрос про порядок выполнения php скрипта.

Бочонок

http://frontender.info
Вопрос про порядок выполнения php скрипта.

Доброго времени суток.

Приношу свои извинения если ответ общеизвестен, но поиском не нашол...

Есть ли разница между такими конструкциями ?

PHP:
switch ($_GET['subj']) {
case 1:
Проверки, в результате которых скрипт может завершится (1).
define('INSIDE','1');
break;
case 2:
Проверки, в результате которых скрипт может завершится (2).
define('INSIDE','1');
break;
}
и

PHP:
define('INSIDE','1');
switch ($_GET['subj']) {
case 1:
Проверки, в результате которых скрипт может завершится (1).
break;
case 2:
Проверки, в результате которых скрипт может завершится (2).
break;
}
То-есть, с точки зрения оптимизации кода, какую лучше использовать ?
 

ksnk

прохожий
Э... В смысле - два раза дефайнить одним и тем-же значением константу или один раз? Либо я туплю, либо ты чего-то недоговариваешь, либо ты и сам можешь ответить на свой вопрос :)
 

440hz

php.ru
Re: Вопрос про порядок выполнения php скрипта.

Автор оригинала: Бочонок
То-есть, с точки зрения оптимизации кода, какую лучше использовать ?
оптимизировать надо когда тормозит. судя по посту тебе еще рано.

p.s. иногда советуют всегда иметь default в switch. во избежании ...

ну и напоследок

// здесь точно знаем, что $_GET['subj'] есть.

switch(@intval($_GET['subj'])) {
}
 

svetasmirnova

маленький монстрик
тогда уж:
PHP:
switch ($_GET['subj']) {
case 1:
Проверки, в результате которых скрипт может завершится (1).
break;
case 2:
Проверки, в результате которых скрипт может завершится (2).
break;
}
define('INSIDE','1');
440hz
ой как тяжело ошибки в длинных скриптах с собаками искать. Не надо такого советовать.
 

440hz

php.ru
Автор оригинала: svetasmirnova
440hz
ой как тяжело ошибки в длинных скриптах с собаками искать. Не надо такого советовать.
я пишу короткие скрипты. 8) но мысль хорошая.
 

Бочонок

http://frontender.info
2ksnk
Либо я туплю, либо ты чего-то недоговариваешь
Вопрос собственно в том выполняет ли php скрипт "по шагам" или отрабатывает "целиком".

Если по шагам, то в результате проверки скрипт может завершить работу и Define не понадобится. Если он уже обьявлен - то на это было затрачено какое то количество ресурсов. А если php отрабатывает весь скрипт "целиком" а только потом смотрит логическое ветвление, то два Define потребуют большего количества ресурсов.

440hz:
оптимизировать надо когда тормозит. судя по посту тебе еще рано.
Вопрос прежде всего теоретический.
Пример тоже.
На мой взгляд, нужно писать код "продуманно" с самого начала. Тогда и тормозить не будет.

Так как, подскажете мне как правильнее такое писать ?
 

kruglov

Новичок
Экономия на спичках.
Веб-стрипты не должны выполнять счетные задачи, а на несчетных 99% времени занимают выборки из баз и все такое прочее.

p.s. Нет, можно, конечно, substr делать путем посимвольного копирования, но мы тут такое не рассматриваем.
 
Сверху