Archive for March, 2010

За риба на язовир Огняново (2010-03-27)

March 28th, 2010   

Язовир Огняново, устието откъм Голема раковица

След дълго и изпълнено с нетърпение чакане най-накрая открихме риболовния сезон. Трябваше ни една седмица, за да решим къде да ходим и в крайна сметка по "препоръка" на собствениците на два риболовни магазина се занесохме на язовир Огняново. Заградил съм думата "препоръка" в кавички, защото едно ни казаха, то съвсем друго излезе, но какво да се прави -- хората си гледат бизнеса. Миналата година редовно ходехме на язовир Долна Диканя, но във форумите намерихме публикации, че арендаторите редовно хвърляли мрежи и след като ги напсувахме (дистанционно) по възможно най-брутален начин, започна голямото чудене къде да се ходи. Изчетохме целия интернет от "коръ до коръ", но почти никъде нямаше мнения от скорошни риболовни излети. В крайна сметка питах пича, който държи риболовния магазин до нас и той ми препоръча Огняново (всъщност и други места спомена, но тъй като още от миналата година бяхме решили да тестваме Огняново решихме там да се замъкнем), защото му били казали, че уклеят вече бил излязал. По-късно, (more…)

Загуба на обратна съвместимост в PHP 5.3

March 19th, 2010   

Тия дни експериментирам с PHP в областта на тестване на бързодействието и profiling. Покрай това инсталирах xampp на win машината, който идваше с PHP 5.3.1 (на линукса съм с 5.2.х). В един момента забелязах, че някой файлове гърмят, защото били използвани deprecated функции (примерно ereg()). Отне ми известно време да разбера, защо, аджеба, става така и ето резултата:

По някое време са въвели error_reporting флага E_DEPRECATED (вероятно в 5.3), който сега участва в E_STRICT. При мен (в tangra framework) има два режима на работа -- нормален E_ALL | E_STRICT и php4 режим (използва се, когато се включват php4 или просто калпаво написани външни библиотеки), който е само E_ALL. По подразбиране в 5.3.1 в php.ini (поне в xampp пакета) error_reporting е E_ALL & ~E_NOTICE & ~E_DEPRECATED. Получава се така, че с моята настройка E_ALL | E_STRICT аз де факто активирам E_DEPRECATED и оттам ми идват проблемите.

Това, което ме дразни е, че PHP пичовете са включили E_DEPRECATED в E_STRICT и изненадват неприятно всички, които го използват. Доста приложения ще поизгърмят и ще съсипят съня на не един и двама php developer-и. В интерес на истината, проблемът се оправя относително лесно и бързно, ама може ли така безхаберно да чупят обратната съвместимост. Да бяха направили E_DEPRECATED независим флаг, а не да го включват в E_STRICT… :-(