Valery's Mlog

Mindlog of a Freak
October 29th, 2004 by Valery Dachev

PHP: PHP5, PHP5 в Debian

Ще започна с това, че PHP се занимавам вече около 5-6 години. Голяма част от това време прекарах пишейки на тогава последните версии, а именно PHP4. От известно време насам обаче пропагандата на новия PHP5 стана доста сериозна, та рекох и аз да се заигря с това животно. Е, страшно въм въодушевен, честно. Едно е да четеш тук-таме, друго си е да понапишеш нещо на практика. То само четейки документацията, на човек му става мъчно направо, че хостинг сървърите, с които разполага на дали скоро ще мигрират към PHP5 и ще трябва доста дълго да следи някаква съвместимост с PHP4 (да не говорим колко машини из Интернет са все още на вече архаичния PHP3). Та какво е новото и на теория, и на практика:

  • Zend Engine 2: PHP5 върви с нов Zend Engine 2 – тотално преправен и гарантиращ по-бързо parse-ване и изпълнение на скриптовете. Отделно, че редица оптимизатори вече поддържат или работят по поддръжката на PHP5.
  • Нов-та-лъска обектен модел: PHP преди версия 5 никога не си е поставял за цел да бъде обектен език, макар обектният модел да датира от времената на PHP3. В PHP4 не е пипван кой знае колко и наистина не представлява нищо особено. Въпреки това, въпреки ограниченията си, по света се използва доста за по-големи приложения. Поддръжката е наистина слаба, вкарани са минимален брой възможности, а и има някои абсолютни недомислици: обектите се подават по стойност, а не по указател (което при извикването на функция с обект като параметър прави клониране на обекта); проблеми с конструкторите при онаследяването и още редица други. Е, в PHP5 всичко това е пренаписано. Макар да съм си свикнал на доброто старо структурно програмиране, обектния модел на PHP5 предоставя невероятни възможности – имате почти всичко за което можете да се сетите: модификатори за достъп до променливи и методи, деструктори (каквито в PHP3/4 нямаше), интерфейси, клониране на обекти, статични членове, абстрактни класове и методи, интератори и какво ли още не.
  • Изключения (exeptions): Във връзка с това пренаписване (защото си е такова) на обектния модел в PHP5 се появи възможността за създаване и обработка на изключения. Няма да влизам в подробности с тях, тъй като в една от статиите изброени по-долу всичко е описано страхотно.
  • Пренаписана XML поддръжка: Всички библиотеки използващи XML вече използват libxml2 библиотеката. По-подробно тези неща са разгледани в една от статиите по-долу.
  • MySQLi (MySQL Improved): Интересно е да се отбележи и наличието на нова подобрена библиотека от функции за работа с MySQL бази данни с версия 4.1.2 и нагоре. Поддържат се подготвени заявки, компресия, SSL криптиране, контрол на транзакции и др..
  • Вграден SQLite: SQLite вече е върви със самия PHP5, така че да се нуждаете от допълнителната му инсталация при редица малки приложения. Какво е SQLite ? Еми… малка C библиотека – имплементацция на SQL стандарта, която не се нуждае от отделен SQL сървър.

Абе невероятно е ! Направо ми иде да скачам като Стив Балмър на developer-ски семинар на Майкрософт… с риск да ме помислят за тотално изперкал. Не че ще сгрешат много де…

Естествено, образовайки се толкова много с изчитане на редица статии в Интернет по въпроса, рекох си да го сложа. Карам я на Debian GNU/Linux. За съжаление към този момент PHP5 още не се е появил на пакет даже в testing дистрибуцията. Въпреки това, за тези от вас, които (като мен) ги мързи да си го компилират на ръка, могат да добавят следните редове в /etc/apt/sources.list:

deb http://packages.dotdeb.org ./
deb-src http://sources.dotdeb.org ./

Вторият ред е за тези, които искат и изходния код на пакетите, но може и без него. Следват в командния ред:

apt-get update
apt-cache search php5
apt-get install php5

За съжаление модулът (в пакета libapache-mod-php5) в момента са само за първата версия на Apache, т.е. за Apache 2 ще трябва да използвате PHP5 като CGI (както всъщност доста администратори го предпочитат) – нещо което ще направите така или иначе, ако ползвате пакети и друг уеб-сървър.

Та, ето малко връзки за образоване:

Еми… успех. Аз продължавам да си играя… :)

Comments

2 Responses to “PHP: PHP5, PHP5 в Debian”
  1. […] ?яма изключения (Всъщност за нововъведенията в PHP5 бях писал някъде из блога си преди време). Ползата от този по […]

  2. […] ?инсталиране. Това е естествено, предвид големите промени и нововъведения в PHP5 и в частност в Zend Engine. По същите […]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: