Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Maxx 09.10.2012 21:10 / 09.10.2012 21:16
Лирическое отступление. В какой то день пришла сотрудница и сказала что в таблице договоров, которые она вносит в базу у всех договоров, в том числе ранее введенных, одновременно пропали все даты. Это было странно, потому что код не трогался, на сервере проблем не наблюдалось, а сама программка работала давно и успешно. Полез ковыряться...@print_date[d] ^if(!($d is date)){ ^try{ $d[^date::create[$d]] }{ $exception.handled(1) } } ^if($d is date){ $result[${d.day}.${d.month}.${d.year}] }На самый первый взгляд ничего в нем такого криминального вроде не нашлось, но тем не менее именно он почему то даты перестал печатать, все. Пока я искал, девушка внесла еще один договор, и все даты появились назад :)
$d1[0000-00-00] $d2[2012-10-10] $d3[2012-10-12] ^print_date[$d1] ^print_date[$d2] ^print_date[$d3] --> пусто ^print_date[$d3] ^print_date[$d1] ^print_date[$d2] --> 12.10.2012 10.10.2012Быстро стало понятно что дело в этом:
Каждый метод должен будет или возвращать результат через $result во всех вариантах своего выполнения или не использовать $result вовсе. Внимание, это несовместимое с предыдущей версией изменение и вам необходимо исправить ваш код.И стало грустно.