от Andrey(7-11-2002)

През изминалите около 10 дни се случиха интересни събития на PHP фронта.
  • Ilia Alshanetsky предположи, че може би е възможно да се преобразуват извикванията на стандартната regex библиотека до такива за PCRE модула. След известно затишие се появи и първият пач, който е първа стъпка в тази посока. Както повечето понапреднали програмисти на PHP знаят, preg_*() функциите са по-бързи от еквивалентните ereg*(). По принцип е лесно за един програмист да смени регулярния израз така, че да получи еквивалентен, който може да се изплолзва с preg_*.
    Все пак има вероятност пълното емулиране да не е възможно и в този случай няма да има промяна в библиотеките.
  • За много напредналите програмисти на PHP мога да препоръчам да пробват VLD (Vulcan Logic Disassembler) на Derick Rethans. Това е модул за PHP (за да бъда точен - за Zend Engine 1), който може да видите как ще изглежда вашата програма превърната в опкодовете, които се разбират от изпълнителя на ZE. Броят на тези опкодове е над 110. Двата най-добри "ускорителя" за PHP работят на база тези опкодове, като се закачат вместо стандартни функции в ZE и чистят асемблерния код от ненужни инструкции (като NOP) и оптимизират последователности от други.
  • Напредналите потребители също могат да изпробват и xDebug модула за ZE, чийто автор е и автор на VLD. Използвайки този модул, който между другото е и безплатен, може да трасирате вашите програми, като е достъпна и профилираща информация заедно с stacktrace. Ако вашият скрипт изгърми някъде имате достъп до stracktrace-a -- нещо нормално в Java света. Повече информация тук
  • Много добра статия за оптимизация на PHP скриптове можете да прочетете тук. Също така можете да прегледате още други връзки свързани с PHP, които се намират на този сайт тук. В статията ще видите, че вече в PEAR е достъпен клас, който наподобява Inline::C от Perl. Засега той има само една ревизия (според CVS жаргона). Сорс можете да намерите тук.
  • Вече е възможно да пишете функции на PHP и да можете да ги използвате в MySQL по време на заявки. Можете да си свалите tarball оттук. Тази новина е от последните часове и доколкото имах възможност да прегледам този модул се уповава на embed SAPI. То е достъпно в 4.3.0-dev от известно време насам и предполагам в pre1 и pre2 версиите.
  • С голяма вероятност mbstring модула няма да е включен по подразбиране при компилацията на крайната 4.3.0 . Това се дължи на факта, че този модул подменя някой от стандартните функции с негови имплементации, но все още не е изчистен от грешки. Има изтичания на памет и не е може да се използва съвместно с iconv библиотеката. Възможно, но не задължително, е PHP5 да може да работи с многобайтово представяне на символите без нужда от допълнителни модули.
  • Между 3 и 6 ноември в град Франкфурт на Майн, Германия, се проведе PHP Conference 2002. Поради факта, че не можах да присъствам, много новини оттам нямам, освен че предполагам че много от насоките за това накъде ще върви PHP са били обсъждани там.
    Zend са представили фамилията си от продукти свързани с разработката на приложения на PHP. Един от спонсорите на събитието е PHPMagazin списанието. Доколкото видях на какъв интервал излизат броевете явно е тримесечно списание. Има възможност за онлайн абонамент. За съжаление е на немски.
  • За хората пробващи възможностите на ZE2 може би ще е интересно, че името на основната променлива в метода __clone() бе сменено от $clone на $that. Това е поради факта, че $clone звучи като вече клонирана референция, но това не е така, това всъщност си е оригиналната референция, която трябва да се клонира (каквато е и целта на този метод, възможността за чието написване е предоставена на програмиста).
  • С най-новите сорсове на ZE2 вече няма да имате възможност да използвате програми, които са били написани първоначално за PHP/FI (версия 2). Това са old_function и cfunction, които вече не се разпознават от парсера и от tokenizer модула.
  • ext/java официално не се поддържа (поне засега) и сегашният код ще продължава да е експериментален. Тече разработката на ext/rpc, който модул отчасти може да покрие нуждите на програмистите, като се очаква, че ще има пълна поддръжка на RMI и COM.
  • Открито и поправено бе едно изтичане на памет в ZE1, което обаче не е в най-често използваните конструкции. Тя се случва поради неосвобождаване на памет заета от низ, когато се покрива от масив.
P.S. Новините не са никак малко както се забелязва. Поради това обмислям възможността да започна да списвам "колонка" относно нови неща около PHP. Интересно ми е какво е мението на хората, които посещават този сайт и дали ще го сметнат за нещо хубаво.


<< nVidia пуска драйвери за FreeBSD | Резюме на дискусията "Кариера в ..." >>