autorzy:
Mika Tuupola (tuupola@appelsiini.net), Pierre-Alain Joye (paj@pearfr.org) (tłumaczenie: Robert Janeczek rashid@php.net)
Aby uczcić wyjście PEAR ze stadium beta i dołączenie instalatora PEAR
do PHP od wersji 4.3 poczynając, Weekly News się odradzają. Ciekawym
wstępem do pierwszych w tym roku weekly news jest wywiad ze Stig`iem
S. Bakken, pomysłodawcą projektu PEAR.
W tym tygodniu szczegóły na temat głosowania nad proponowanymi pakietami,
tutorial omawiający korzystanie z PEAR na Mac OS X, nowe szablony phpdoc
i brakujący instalator dla Windows. Podczas pisania było osiem nowych
wydań w tym tygodniu.
WYWIAD: STIG BAKKEN
rozmawiał Pierre-Alain Joye (paj@pearfr.org)
Kim jest Stig Bakken ?
Stig (30) pracuje w Unixach i zajmuje się webem od 10 lat. Od 1999
pracuje jako inżynier oprogramowania w Fast
Search & Transfer (FAST) w norweskim Trondheim. FAST jest głównym
współzawodnikiem dla Google na rynku wyszukiwarek OEM, a Stig jest
szefem technicznym ds. wyszukiwania multimediów. Odwiedź www.alltheweb.com (oczywiście,
napisany w PHP) aby zobaczyć demonstrację.
Czym jest PEAR ?
PEAR jest projektem PHP, którego głównymi celami jest kilka rzeczy:
biblioteka łatwego w użytkowaniu kodu PHP o wysokiej jakości oraz rozszerzeń
wskazówki co do kodowania, które pomagają w tworzeniu komponentów o stałym API
środowisko do pakietowania, dystrybucji i instalacji tych komponentów
Skrót rozwija się w "PHP Extension and Application Repository".
Oczywiście skrót został wymyślony najpierw, potem dodano do niego znaczenie.
Czym jest PECL
PECL (PHP Extension Code Library) jest podzbiorem PEAR zawierającym tradycyjne
rozszerzenia PHP napisane w C czy C++.
Jaki jest związek między PHP a PEAR/PECL, zauważyliśmy przenosiny
wielu rozszerzeń z PHP do PECL (i wygląda na to, że będzie takich
operacji więcej w przyszłości) ?
Coraz więcej rozszerzeń przenosi się do PECL, a od momentu opublikowania PHP 5
większość rozszerzeń zostanie spiklowana ("PECL'ed"). Jest to pierwsza
zmiana w zarządzaniu projektem PHP. Przyszłe wersje PHP będą nadal zawierały
rozszerzenia, które zostaną zaimportowane z PECL podczas procesu wydawniczego
i dołączone do archiwum instalacyjnego.
Powodem robienia tego właśnie w ten sposó jest chęć ułatwienia zarządzania
procesem wydawania kolejnych wersji PHP. Obecnie wydanie nowej wersji PHP
trwa kilka miesięcy. Importując stabilne wydania rozszerzeń z PECL do
finalnej dystrybucji PHP, zamiast trzymania ich w CVS PHP, uprości cały proces,
ponieważ testowanie jakości będzie w znacznym stopniu już zrealizowane przez
kontrolę jakości PECL. Mamy nadzieję, że pozwoli to skrócić czas wydawania
nowych wersji PHP do tygodni, a także zwiększy ogólną jakość rozszerzeń
dołączanych do PHP. Chcę szczególnie podkreślić, że proces piklowania
nie oznacza, że użytkownicy nie otrzymają rozszerzeń wraz z PHP.
PHP wciąz będzie je zawierać, ale spodziewamy się polepszenia ich jakości.
Oprócz tego, jeśli rozszerzenia są budowane jako dzielone (nie wkompilowane
bezpośrednio w PHP, ale dołączane dynamicznie pod postacią ładowalnych bibliotek),
to będzie możliwe uaktualnianie poszczególnych rozszerzeń bez potrzeby uaktualniania
PHP.
Na czym polegają różnice między jądrem PEAR (menedżer pakietów, główne
moduły) a pozostałymi pakietami PEAR ?
"Główne" pakiety zawarte w dystrybucji PHP należą do jednej z dwóch kategorii:
część jest wymagana przez instalator, a część jest uznawana za bardzo dobry
kod, którego używanie jest bardzo częste. Ta druga grupa jest zaczątkiem
czegoś, co stanie się kiedyś "PHP Foundation Classes" (PFC).
Czy menedżer pakietów i definicja pakietu może być użyta przez każdego
programistę PHP w projektach, niezależnie od tego czy jest to projekt prywatny
czy komercyjny?
Każdy może postawić sobie własną kopię strony pear.php.net i używać jej
do dystrybucji własnych komponentów PHP. Kilka projektów już zaczęło używać
narzędzi z PEAR na własne potrzeby.
Jakie są cele dla PEAR na najbliższa przyszłość ?
Przede wszystkim obsługa instalatora dla Windows musi być solidna. Z powodu
przerwy świątecznej i problemów z czasem, instator PHP w wersji 4.3.0 został
opublikowany bez PEAR. W 4.3.1 to będzie naprawione.
Musimy też opublikować wersje binarne win32 pakietów PECL.
Później będziemy musieli doprowadzić do działania przenośną infrastrukturę
do podpisywania pakietów, żeby ludzie mogli spokojnie instalować wydania
binarne. Dla PEAR jest to znacznie trudniejsze, niż dla powiedzmy RPM, ponieważ
instalator PEAR jest uruchamiany na wielu platformach i konfiguracjach.
Do tego czeka nas dużo pracy nad przeprowadzeniem migracji do PHP 5.
Coraz więcej osób dołącza do społeczności PEAR dodając nową
funkcjonalność lub alternatywne pakiety, jak udaje ci się nad tym
panować ?
Korzystamy z głosowania na liście mailowej pear-dev - ludzie głosują
nad określoną nazwą pakietu. Zwykle pakiety nie są odrzucane, nawet
jeśli nakładają się funkcjonalnością na inny pakiet. Ze względu na to,
że mamy pojedynczą listę dla programistów PEAR, autorzy "konkurujących"
pakietów szybko się znajdują i doprowadzają do kompromisów z własnej
inicjatywy. Moja rola ogranicza się do popychania społeczności
we właściwym kierunku od czasu do czasu.
Skrót z PEAR-DEV
Kto może głosować?
Interesujące pytanie pojawiło się na liście. Czy aby głosować za lub przeciw
proponowanym pakietom potrzebne jest posiadanie konta w CVS?
Instrukcje
na temat współtworzenia PEAR wspominają o "developerze". Ponieważ można być
developerem bez posiadania konta w CVS, to każda osoba na liście ma prawo
głosu.
Tutorial: PEAR na Mac OS X
Pierre-Alain Joye znalazł ciekawy
tutorial na temat
ustawiania PEAR na Mac OS X.
Tutorial wydaje się być calkiem kompletny, zaczyna się od podstawowego
instalowania PHP cli i ustawiania właściwych zmiennych środowiskowych.
Oprócz tego zawiera instrukcje jak: zainstalować i użyć menedżera pakietów PEAR,
wygenerowania dokumentacji z pliku phpdoc i jak używać klas PEAR we własnych
aplikacjach.
Dodatkowy link: PHP i Mac
Tutorial ten może być użyty jako wskazówka na temat instalowania PEAR na
tradycyjnych unixach, jedyną różnicą będzie to, że prawdopodobnie sam
skompilujesz php cli.
Czego nam brakuje, to podobnego tutoriala dla Windows...
Szablon PEAR phpdoc
Christian Dickmann ogłosił, że jego szablony PEAR
dla PHPDoc są prawie ukończone i że potrzebuje nieco pomocy przy testach.
Szablony prezentują się bardzo ładnie. Dodatkowe cechy pozwalają m.in. na możliwość
generowania doc`ów dla każdego publikowanego pakietu PEAR, przejrzenie lub
ściągniecie dokumentacji API, zuploadowanie wydania developerskiego aby sprawdzić
jak wygląda dokumentacja w nowym layoucie.
Szablony są przeznaczone do użytku z
phpDocumentor.
Pomyłka przy pakietowaniu dla Windows
Ku rozczarowaniu użytkowników Windows, instalator PEAR nie został
umieszczony w dystrybucji binarnej dla tego systemu. To nie było zamierzone,
powodem jest pomyłka przy tworzeniu pakietu. Mamy nadzieję, że zostanie
to poprawione w 4.3.1.
Bugi i poprawki
Dzięki tym ludziom wykryto kilka nowych błędów:
Lorenzo Alberton, Tobias Schlitt, Michele Manzato, Markus Wolff
Nowe i proponowane pakiety
HTTP_Header, HTTP_Header_Cache
Wolfram Kriesing zasugerował nowe pakiety, które implementują
metody do obsługi nagłówków i obsługi nagłowków cache.
DB_Abstract
Wolfram Kriesing również zaproponował narzędzie do budowania zapytań oparte
na DB. Ten pakiet ma kilka podobieństw do DB_DataObject, ale skupia się bardziej
na budowaniu zapytań niż konstruowaniu dataobiektów.
A&A dla przedsiębiorstw
Tony Bibbs zaproponował nowy pakiet do autoryzacji i autentykacji. Po dyskusji
pojawiła się możliwość połączenia jego pakietu z LiveUser.
GTK_VarDump
Alan Knowles zaproponował pakiet, który robi VarDump w oknie GTK.
Rozwój
ARuch w CVS w tym tygodniu odbywał się w następujących pakietach: Net_SMTP, DBA_Relational,
PECL::session_pgsql, PHPUnit, DB, MDB, XML_Transformer, HTML_QuickForm,
PECL::soap, Net_SmartIRC, Cache_Lite, HTML_Template_Xipe, PECL::tclink,
Net_SMTP, Mail, Perm_LiveUser, I18N, Spreadsheet_Excel_Writer,
Pager_Sliding, XML_XPath, Net_UserAgent, Image_GIS, File_HtAccess,
HTML_TreeMenu, DB_QueryTool, HTTP_Header