Tips: reCAPTCHA, CakePHP и Internet Explorer

reCAPTCHA Днес ми се наложи да вградя в един CakePHP проект reCAPTCHA. Не може да не сте чували за каптчата, ако не сте, значи живеете в 18ти век :) reCAPTCHA е една доста разпространена безплатна услуга, с помощта на която можете да се сдобиете с красива, работеща и най-вече сигурна каптча за нула време. Първо се изисква да се регистрирате в уеб сайта на reCAPTCHA за да получите своя публичен и личен код, който да използвате за да използвате приложението. reCAPTCHA е достъпна за PHP, ASP.NET, Classic ASP, Python, Perl, Ruby, Java, JSP, ColdFusion също така разполага с добавки за WordPress, MediaWiki, phpBB, Movable Type, Drupal, Symfony, Typoo, Joomla и други.  В общи линии може да я използвате навсякъде :) В този си пост искам да поговоря за лесното й вграждане в CakePHP приложение.

Прочети цялата публикация



Tips: CakePHP – recursive

Много полезена функционалност, вероятно позната на повечето от вас, но аз държа да го отбележа, след като още на първия си CakePHP проект изгубих малко време за да го открия, но така и не остана време да го блогна, за това го правя сега :)

Положението беше следното – имах потребители, които пък си имаха статии, които пък си имаха рейтинг. Как да имате достъп до рейтинга през потребителите? В CI/Kohana правите няколко заявки на ръка, но тук това е спестено.

Идеята е да се използва ‘recursive’ атрибута на моделите, на който може да зададете стойност -1, 0, 1, 2, според зависи от „дълбочината“, която искате да постигнете.

Повече може да прочетете тук.

P.S. Обмислям така наречените tips, били то полезни или не чак толкова, да се срещат по-често в блога ми. Един вид микроблогинг, ама малко разлокумено. Да се надяваме, че идеята ще просъществува :)

Прочети цялата публикация



ООД = 2 лв. Лийкувай народе!

bulgariapnew-2leva-2005-donatediv_fПо принцип се дистанцирам от теми различни от уеб дизайна и уеб програмирането, но тази няма как да не я отбележа. След поредния тежък петък изпълнен с голяма доза университет и малка доза работа успях да се прибера вкъщи след ранната бизнес вечеря, която имах, в която говорихме главно за бъдещето на фирмата и реформите, които предостят да бъдат направени, попаднах на този блогпост на Калин Василев, който много ме зарадва. За това се говорише от доста време, но явно вече е факт. Регистрираме ООД и ЕООД за 2 лв. Сладко звучи нали :)

Прочети цялата публикация



Как да спрем кеша на IE с PHP

Преди броени минути се сблъсках с много кофти проблем относно кеша на IE и един наш админ панел. Оказа се, че „най-любимият ни браузър“ не спира да кешира и работата с админа хич не е приятна. Всичко се получава поради факта, че имам едни и същи url-ли за всички езикови версии, тъй като избраният език за редакция се пази в сесия. Решението е много просто бързо и приятно, разбира се, благодарение на PHP :)

Изпращаме хедър с „cache-Control: no-cache, must-revalidate“ и след него изпращаме още един който е Expires: дата в миналото.

Работи безотказно! :)

Прочети цялата публикация



Предмиствата на CakePHP или защо се влюбих в него

cakephpВ последните три дена си играх и направих един клиентски проект на CakePHP. Останах с адски добри впечатления от framework-a. Всъщност има много повече предимства от колкото ще ви се стори на пръв поглед. Недостатъци почти не се намират, особено ако имате опит с други frameworks ще е убедите, че е доста по-добре замислен и реализиран от останалите. Ето и моето ревю на CakePHP Framework.

Документацията

Много е слаба наистина. Дори и на пръв поглед да ви се стори много добра, всъщност основни примери и разяснения липсват. Добрата новина е, че всичко, което ви трябва може да бъде открито в Google, защото обществото на CakePHP е доста будно. Естествено цялата нужда информация я няма синтезирана на едно място и е малко неудобно, но какво пък, не е болка за умиране. Естествено това би отказало хората, които не им се занимава чак толкова. Имено заради това CodeIgniter печели ежедневно много потребители, защото документацията е перфектна и за да започнете ви трябва много малко. Но способностите на CI са далеч под тези на CakePHP.

ORM и валидация

Повече от перфектни са и двете. Основната разлика при това с CodeIgniter, е че валидацията се налага в модела и няма нужда да я пишете всеки път. Което е бомба. Има доста „вградени” методи по които можете да валидирате, които включват дали записът е уникален, дали е валиден e-mail и така нататък. Доста по-идейно решение от колкото валидацията да се пише многократно.

Прочети цялата публикация