ТЗ — это техническое задание, это другое, оно описывает то что хочет заказчик от исполнителя, а технические директивы — это внутренняя договоренность разработчиков между собой.
Договоренность об оформлении кода, если мне не изменяет память, называется техническими директивами, которые собственно ради того что вы написали и используются, чтобы любой из команды разработчиков соот-щего проекта мог не ломая глаза прочитать то, что написали его коллеги.
Операторы — слитно с условием, фигурные скобки отделены пробелом, и сейчас стараюсь все операторы выносить на новую строку, гораздо удобнее в плане когда нужно что-то добавить, например print_r() какой-нибудь или var_dump(), при отладке и т.п., раньше когда писал слитно — приходилось переформатировать код на несколько строк, добавлять необходимую отладку, а потом когда отладка не нужна — убирать ее и запихивать код обратно в одну строку… в общем лучше уж сразу :)
Фига себе нанооптимизаторы мне карму снесли :) Теперь придется долго реабилитироваться в комментариях опусами о влиянии регистра букв в переменных на производительность скрипта :)
Незнаю, имхо проблема восприятия PHP как языка кухарок — реальная проблема, но она существует уже давно, и я верю что когда-нибудь она сойдет на нет, а вот проблема придумывания велосипедов — проблема надуманная, и на том-же хабре (хотя в меньшей степени) или на каком-нибудь специализированном форуме по PHP — конечно хреновы миллионы непризнанных гениев, хвастающихся своими велосипедами (как в матрице, огромное поле, а там кабачками PHP-девелоперы: P), но это-же все новички, тот кто занимается программированием на PHP давно — давно уже все для себя решил, и имеет собственные готовые програмные решения на любой случай жизни. Мне лично наоборот не нравится тенденция «ухты, а тут все готовенькое, сейчас я это себе в код впихну», если уж и используешь чужой код — то его хотя-бы для начала нужно досконально изучить и понять, и быть в состоянии написать с нуля если не лучше, то хотя-бы также, иначе это не программирование, а собирание конструктора лего. Хотя в чем-то конечно соглашусь, Zend Framework далеко не самое худшее, что есть на PHP, и его хорошо-бы по-больше разрекламировать, чтобы кабачков-велосипедистов впоследствии стало меньше :)
Хм, а меня наоборот не впечатлил интерфейс Зенда :) Дома установлен 6.01 на эклипсе — юзаю его, и испытываю всяческие эгоистические удовольствия, а на работе 5.51 — тоже вполне себе IDE, но что-то после эклипса не то.
А мне лично кажется паттерн DataMapper более удобным нежели различные реализации ORM, все-таки у каждого СУБД есть свои специфичные особенности, которые в общем ORM'е все учесть сложно, и DataMapper в этом плане предоставляет большие возможности для использования сложных, составленных вручную запросов с учетом специфики СУБД. При переходе на другой СУБД DataMapper конечно придется переписывать, но я лично считаю это оправданным, в мелких проектах это не так много работы, а в крупных не так часто меняют СУБД, и там как раз таки очень важна производительность. Ну и при необходимости использования нескольких вариантов хранения информации - DataMapper можно инстанциировать через фабрику.
Смотря как его использовать, разбив общий шаблон страницы на тысячи маленьких кусков - вполне можно вынести всю сложную логику из шаблона в скрипт, оставив только подстановку переменных :) хотя это конечно крайность, но вообще я лично как раз сторонник того чтобы сложную логику перекладывать на объект представления в скрипте, а не на шаблон.
Незнаю, по-моему это не такая непомерная задача - заработать 10$ на домен :) Не думаю что это было мотивацией, пусть не очень мною уважаемого, но тем не менее действительно очень известного и популярного шаблонного движка.
Так и я не утверждаю :) В ассемблере этот оператор (его аналог) вполне уместен, и даже более того, является базисом, как например и в некоторых других языках, где без этого оператора невозможно простым и удобным способом реализовать какие-либо конструкции, как например выход из вложенных циклов, и т.п.
Однако в PHP штатных средств для решения таких задач более чем достаточно: функции, исключения и т.п., по аналогии с вашим примером C# - в Java такого или аналогичного оператора - нет, и не предвидится, а ведь нельзя назвать Java языком кухарок, несмотря на то что у них на эмблеме чашка кофе :)
Ну и насчет прямых рук - так об этом и речь, я не говорю что кто-то прибежит ко мне в офис с пистолетом, и заставит меня переписать все исходняки с использованием GOTO - но раз будет возможность его использовать - будут и люди его использующие, и в прямоте их рук я к сожалению очень сомневаюсь, правку чужого кода на PHP и раньше нельзя было назвать сказкой, но с введением GOTO это может вылиться в действительно значительные трудозатраты.
Можно пример того, что можно реализовать с помощью GOTO, но нельзя с помощью старого функционала PHP? Насколько я, возможно профан в этом вопросе, представляю - GOTO создан исключительно для того чтобы убивать структуру и читабельность кода, реализуя алгоритмы а-ля:
Операторы — слитно с условием, фигурные скобки отделены пробелом, и сейчас стараюсь все операторы выносить на новую строку, гораздо удобнее в плане когда нужно что-то добавить, например print_r() какой-нибудь или var_dump(), при отладке и т.п., раньше когда писал слитно — приходилось переформатировать код на несколько строк, добавлять необходимую отладку, а потом когда отладка не нужна — убирать ее и запихивать код обратно в одну строку… в общем лучше уж сразу :)
Однако в PHP штатных средств для решения таких задач более чем достаточно: функции, исключения и т.п., по аналогии с вашим примером C# - в Java такого или аналогичного оператора - нет, и не предвидится, а ведь нельзя назвать Java языком кухарок, несмотря на то что у них на эмблеме чашка кофе :)
Ну и насчет прямых рук - так об этом и речь, я не говорю что кто-то прибежит ко мне в офис с пистолетом, и заставит меня переписать все исходняки с использованием GOTO - но раз будет возможность его использовать - будут и люди его использующие, и в прямоте их рук я к сожалению очень сомневаюсь, правку чужого кода на PHP и раньше нельзя было назвать сказкой, но с введением GOTO это может вылиться в действительно значительные трудозатраты.
set_time_limit(0);
ignore_user_abort(true);
$t = microtime(true);
сюды:
goto туды;
туды:
if(connection_aborted()) { goto конец; }
goto сюды;
конец:
$file = fopen('чудо.log', 'a');
fwrite($file, 'Этот юзверь продержался: '.(microtime(true) - $t).' миллисекунд');
fclose($file);