Е не го разбирам …
Ðе разбирам защо толкова чеÑто Ñе Ñлучва – за дадена библиотека или модул Ñе Ñъздава ÑобÑтвен ÑинтакÑиÑ, който да Ñе използва при подаването на параметри или аргументи. Къде е ÑмиÑъла в това ? Ðали поÑле пак този „пÑевдо ÑинтакÑиѓ ще бъде обработен и раздробен от PHP за да Ñе получат нÑкакви данни, които PHP може да използва… тогава защо да го мъчим и да губим време, като му подаваме данни, които трÑбва да „Ñдъвче“ за да Ñе получи нещо които може да Ñе ползва.
Първи пример:
Default Route в Zend Framework – за декларирането му Ñе подават нÑколко ангумента, между които Ñтрингове от вида на ":page/:action/:id/*"
за пътеката, маÑив Ñ default ÑтойноÑти, и маÑив ÑÑŠÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð° за Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ñ Ð½Ð° намерените параметри в пътеката. Какво Ñтава Ñлед това – пътеката Ñе чупи на „парчета“ (или параметри), като за вÑеки параветър му Ñе назначават правила за Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ñ Ð¸ ÑтойноÑÑ‚ по подразбиране (ако има такива). Много по-леÑно е този маÑив от „парчета“ който Ñе получава Ð½Ð°ÐºÑ€Ð°Ñ Ð´Ð° бъде използван като аргумент. Така ще Ñе ÑпеÑти вÑичкото цепене и анализиране, понеже данните Ñе подават в „Ñдъвкан“ вид. Като резултат рутерът ще работи по-бързо (когато Ñе полза default rule), а това Ñпоред мен е много важно понеже като чаÑÑ‚ от Front Controller-а този код Ñе изпълнÑва за вÑÑко зареждане на Ñтраница, което като краен резултат ще доведе до по-бълза работа на приложението.
Втори пример:
Ето този поÑÑ‚ от блога на ÐšÑ€Ð¸Ñ Ð¨Ð¸Ñ„Ð»Ð¸Ñ‚ (Chris Shiflett):
в който Ðейт Ðйбъл (Nate Abele) говори за интереÑна ÐºÐ¾Ð½Ñ†ÐµÐ¿Ñ†Ð¸Ñ Ð·Ð° защита на ÑеÑиите. ИдеÑта е наиÑтина добра и необичайна, и признавам че много ми хареÑа. Обаче … изпълненито определено провокира въпроÑи. От какъв зор ми е да пиша нов език или ÑинтакÑÐ¸Ñ Ñ ÐºÐ¾Ð¹Ñ‚Ð¾ да опиÑвам правилата за Ð²Ð°Ð»Ð¸Ð´Ð°Ñ†Ð¸Ñ Ð½Ð° ÑеÑиите ? Това Ñамо ще забави вÑичко! Откровенно казано не виждам ÑмиÑъл от това да Ñе подава като аргумент 'User-Agent'
, коÑто ÑтойноÑÑ‚ да Ñе транÑформира поÑле до 'HTTP_USER_AGENT'
(про това не използвайки директно функциите на PHP, ами използвайки user-land дефинирани функции, които Ñа още по-бавни). Ðми декларациÑта за ограничениÑта по време ? Къде е ползата от аргумент като ‘+30 minutes’ ?? Ðе може ли проÑто да Ñе подаде периода в Ñекунди ? Защо трÑбва да хабим време да анализираме Ñтринга за да извадим от него отново нÑкаква чиÑлова ÑтойноÑÑ‚ коÑто да ÑравнÑваме Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¾Ñ‚Ð¾ време ?
Трети пример:
Кроновете в един от проектите в които работÑ. ÐÑма да Ñоча Ñ Ð¿Ñ€ÑŠÑти на кого е великата Ð¸Ð´ÐµÑ Ð¿ÐµÑ€Ð¸Ð¾Ð´Ð¸Ñ‚Ðµ за изпълнение на кроновете да Ñе подава като „(almost) human readable“ текÑÑ‚. За безполезноÑта на подобно начинание вече говорих в Ð¿Ñ€ÐµÐ´Ð½Ð¸Ñ Ð¿Ñ€Ð¸Ð¼ÐµÑ€.
Сигурно има още примери. Ðз определено не виждам ÑмиÑъл в подобни … „извращениѓ ;)