август 9

Всички фенове на Xdebug: пратете картичка на Дерик!

Всички които се опитват да са в час знаят, че вече излезе Xdebug 2. Сигурен съм, че много от вас са благодарни на Дерик Ретанс за това чудо на модерната техника :) Сега, дайте да покажем малко благодарност и съпричастност – вижте какво е пожелал Дерик:

As with most open source projects, it’s very hard to know who are actually the users of the project. As I would like to know my users better, I would invite everybody who finds Xdebug useful to send me a postcard with their location. (Address is here at the top of the page). I am looking forwards to find out who you are!

Ами, хайде … дайте да дадем :) Ако нормалните старомодни картички ви се струват прекалено скъпи (особенно с пощенските разходи но Норвегия), сигурно и някакво цифрово подобие ще свърши работа.

август 6

Evangelizing Smarty…

Днес ми мина през главата, че по-рано тази година „проповядвах“ Smarty в коментарите на един блог, и ми стана интересно в каква посока е отишла дискусията. За начало всичко беше тръгнало по заядливо-арогантния начин, който е толкова присъщ за интернет (познахте ли се, „интернет гущери“, хаха), и се радвам, че моята позиция внесе един маалко по-умерен тон (аз самия се „шлайфам“ да се оттърва от припряността и арогантността, така ще разберете защо постигнатия добър тон ме радва). Типично за мене коментарите ми са пълни с правописни, стилистично и граматично грешки. Както и да е, сега имам още аргументи, които сега реших да публикувам на блога като форма на разкаяние, че самия аз преди години бях „A Smarty Basher“ :) Признавам си. Моята глава е (или по-скоро беше) много дебела, и някои неща (или по-скоро повечето) се учат с бой практика, а не като умните глави – с прочитането на теорията. Любимият на всички „Първи Дубъл“ е правен на един античен template-engine (а сега, как се превежда това на български), който беше взаимстван и леко подобрен от този който ползвахме на работа, и който меко казано беше елементарен като кройка на цвичка и се скъсваше да прави preg_replace(); за да засади данните по местата им. После, предказармено, направих един нов template-engine, който после се оказа и публикуван на PHP-Classes.org, и с който в момента не съм особенно горд, като се изключат малкото му плюсове като тов, че маха излишните интервали, и че беше причина Данчо да ме включи в credits на дипломния му проект. Накрая на историята ето ни работим с PHP5 и Smarty, и сме недоволни само от ниското качество на хората, които кандидатсват при нас.

FlickrНие обаче не сме най-великите и най-известните. Добър аргумент за практическото приложение на Smarty е Flickr (за момент ще си затворим очите за факта, че освен Smarty се ползва и PHP4). Това е един наистина огромен heavy-duty сайт, и като съм гледал какви чудесии са правили за да оптимизират performance-а на MySQL-а, съм убеден, че са избрали Smarty, защото е едно от най-бързите и едновременно удобни решения:

От написаните коментари след мен изглежда само една точка не е пояснена.

„…А би ли ми описал един примерен алгоритъм за това как става тая проверка. Щото аз си го представям като – компилирай некомпилираното и виж дали съвпадат. Или ако не е толкова грубо е нещо подобно. И идеята ми е именно – за чий чеп ти трябва тая проверка, като в крайна сметка стигаме тъй или иначе до инклуда?…“ (Georgi Mateev)

Smarty има настройка за това – дали да проверява или не оригиналните шаблони (пояснение за американизираните – това са templates) за налагащи се промени на компилираните копия. По време на разработка, когато шаблоните се променят всеки едн, тази настройка е включена, и наистина преди всяко рендиране се проверява дали шаблона е бутан. Не се наемам да обеснявам как, защото това не съм го проверявал (мисля си, че е по датата на файла, а не съдържанието му), но изглежда и за целта на дискусията няма да е важно, понеже още сета ще се съглася с другата страна и ще кажа, че това наистина дава overhead. Сега, проектът е приключен, с което приключват промените на шаблоните. Преди да го пуснем да работи като истински сайт изключваме настройката за която говорихме, наред с редица други, за да нагласим проекта да работи не като за development, ами като истински сайт. Сега се прави проверка само дали има компилирано копие – и ако има, то се include-ва, а ако няма – създава си и на ново се include-ва. Ето как се маха overhead-а. Ако случайно промениш оригиналния шаблон, Smarty няма да се усети да прекомпилира – понеже както вече казах въпросната настройка е изключена. Ð’ тази ситуация за да предизвикаш прекомпилиране трябва да изтриеш компилираното копие. Eто го и на Smarty страницата (подчертал съм важното):

Smarty::$compile_check

Upon each invocation of the PHP application, Smarty tests to see if the current template has changed (different time stamp) since the last time it was compiled. If it has changed, it recompiles that template. If the template has not been compiled, it will compile regardless of this setting. By default this variable is set to TRUE.

Once an application is put into production (ie the templates won’t be changing), the compile check step is no longer needed. Be sure to set $compile_check to FALSE for maximal performance. Note that if you change this to FALSE and a template file is changed, you will *not* see the change since the template will not get recompiled

http://smarty.php.net/…/variable.compile.check.php

Ами това е. Като цяло поддържам старото си мнение всеки да ползва каквото му е удобно. Все пак, прекарайте малко време да прочетете нещата за Smarty, защото може наистина да ви се окаже полезен.

PHP Version 5.2.4 (RC1) Released for Testing

Ето и другата PHP5 новина за деня – Иля Алшанецки (Ilia Alshanetsky) обяви, че първия release candidate за PHP 5.2.4 е вече готов за ентусиастите, които искат да го тестват. Ето и малък цитат от съобщението:

This release have been long in the making so the changelog is a bit intimidating, so we definitely need a lot of testing for this release. I would like to ask everyone to give this RC a shot and see how it behaves with their code and hopefully not find any regressions. If you do find any, please let us know.

Така че, хайде хора, да се пробваме да помагаме. Можете да изтеглите RC версията от тук, а пък плащещо обемния changelog можете да намерите тук.

Symfony 1.0.6 Released

Версия 1.0.6 на Symfony, framework-а за създаване на PHP5 приложения, току що излезе. В нея няма нови неща, а само bugfix-ове. Повече информация за това може да получите от техния сайт на този адрес:

Самият release може да дръпнете от тук.

Като всички нови PHP5 framework-ове (трябва ми по-добра дума на български от „рамка“ или „скелет„), и те си имат лаконично описание за това за какво иде реч:

Symfony is a web application framework for PHP5 projects. It aims to speed up the creation and maintenance of web applications, and to replace the repetitive coding tasks by power, control and pleasure.“

Както казах – шъ фидим :) Поне сега вече съм сигурен, че Yahoo! Bookmarks е на PHP5.

PS. Харесах си дума за framework на български: „шаси„!

август 1

Zend Framework 1.0.1 Released

Първото подобрение по вече официално пуснатата версия версия на Zend Framework излезе (1.0.1) – ето цитат от официалното съобщение:

This mini release includes fixes for 33 issues since the 1.0.0 release only a month ago. These issues are generally bug fixes and improvements, though some feature additions have been included with this release.

This release includes enforcement of our new policy of only publishing documentation translations that are at least 50% complete. At this time the published translations are Japanese, German, French, and Russian.

Also noteworthy for the 1.0.1 release are many improvements for Zend_Gdata and numerous bug fixes for Zend_Db.

More significant enhancements and feature additions are scheduled for the upcoming minor release, 1.1.0, which should be in early September.

Новата версия може да бъде смъкната от тук, а changelog-а може да намерите тук.

За финал – „Zend Framework is an easy to use framework for developing the next generation of web applications.“ – абе… ша фидим :)

юли 30

Интересно за четене и коментиране

Не че се казва кой знай какво, но на мен ми беше интересно да прочета други гледни точки – нищо, че кака се ожени – койт` е*ал – е*ал ! (да се чете като „нищо, че PHP4 умря“ :) )

Трябваше ли да се спре поддръжката на PHP4, за да се поговори по-сериозно и задълбочено на тази тема? Не си спомням кога го четох, но дори Flickr e писан на PHP4 (сега не знам как е).

PS. Оказа се, че и Digg е на PHP4. Всъщност кой голям, работещ и популярен проект и на PHP5 ? Погледнах и някои от „актуалните“ (за мен) блогове като Snook.ca и Ajaxian и те са хоствани на PHP 4.4.7 … Само TechCrunch е на PHP 5.2.0 :) Дайте иде кои други сайтове да проверим!

PPS. Нека да погледнем най-популярните сайтове според Alexa (сигурно и на друго място иматакава класациа, но аз за тази се сетих) – започнах да гледам Server хедърите от HTTP отговора. YouTube казва само Apache, обаче седма позиция – Baidu – показва Apache 2.0 PHP 4.4.2. Нещо не ми стига търпението да проверявам по-нататък – стигнах до 13-то място и не видях никъде да пише PHP 5.*, въпреки че някой от сайтовете които се идентифицира само с Apache може всъщност да е с PHP5. Погледнах и Yahoo! Bookmarks – нали са направени със Symfony, но там пък отговора не казва какво се ползва. Довечера ако не съм пак в режим „изморено зомби“ ще се поровя още по темата. Ето нещо до някъде иронично – на работа се трудим над едно огромно проект на PHP5, като ползваме разни webware приложения да си помагаме … и те са на PHP4 ;)

PPPS.Темата е интересна – не се върти само в моята глава :)

юли 20

Ajax and PHP

юли 13

PHP умря, да живее PHP

Ето днес ще пиша отново за PHP, и отново ще цитирам класик – Дерик Ретанс:

PHP est mort, vive PHP [ Friday, 13th of July, 2007 – 10:18 – Skien, Norway ]

Дерик Ретанс | Derick Rethans On April 1st I already wrote about the end of life of PHP 4 – more as a joke than a real statement. It was April 1st after all. However, after a little discussion on the PHP Internals mailing list the development team actually reached consensus in quite an amazing time. So now it is official – support for PHP 4 will be dropped by the end of the year. That means there are 172 days left to convert your applications to PHP 5 – good luck!

Ами, да се поздравим със втората добра новина днес.

Най-накрая: PHP Namespaces!

От блога на Андо Змея (Андрей Змиевски):

No_More_Absurdly_Long_Class_Names

Ladies and gentlemen, we have namespaces.

Наааааааай-накрая :)
Андрей Змиевски | Andrei Zmievski

юли 9

Хайде на PEAR2

Хайде маниаци, прочетете препоръките и кажете какво мислите за стандартите, които ще се опитат да наложат със PEAR2. Кометарите пускайте на PEAR блога ето тук:

а самото предложение може да видите ето тук: