parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Rica 29.06.2007 11:29

Итак, у нас есть (к примеру) init.p, который загружает нам необходимую информацию (настройки администратора, отображения, главное меню, заголовки страниц...).

В любой момент файл или переменная может отсутствовать (или гость пытается залезть в админку, или забаненный юзер ломится в форум). Нам нужно показать ошибку и прекратить дальше выполнение кода (затем, чтобы ненароком не использовать отсутствующий файл и т.п.):
^showerror($ERR_FILE_NOT_FOUND)
# ^break[] ???
Если ставить условие на существование переменной \ файла к концу это будет выглядеть примерно так:
^if(def $a && def $b && def $c && $c == 0 && def $d){
# где a, b, c, d выглядят примерно так: -f "/includes/templates/error.tmpl"
Определенно такой код сложно прочитать.

И тут мы подошли к возможному решению.
Как вариант - объявить переменную $GlobalFailed и перед тем, как показать ошибку,
устанавливать ее в истину.
^showerror($ERR_FILE_NOT_FOUND)
$GlobalFailed(1)

^if(! $GlobalFailed){
# ...
Но! Код все равно будет пестреть условиями ^if(! $GlobalFailed), что затруднит читаемость.

Жду ваших предложений.