декември 26

Е не го разбирам …

Не разбирам защо толкова често се случва – за дадена библиотека или модул се създава собствен синтаксис, който да се използва при подаването на параметри или аргументи. Къде е смисъла в това ? Нали после пак този „псевдо синтаксис“ ще бъде обработен и раздробен от 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“ текст. За безполезноста на подобно начинание вече говорих в предния пример.

Сигурно има още примери. Аз определено не виждам смисъл в подобни … „извращения“ ;)

Няма коментари

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.