autor: Pierre-Alain Joye paj@pearfr.org (tłumaczenie: Robert Janeczek rashid@php.net)

Lista mailowa była bardzo aktywna w ciągu minionego tygodnia, to znak powrotu czasu uaktualnień, nowości i poprawek w PEAR. Tematy bardzo różne - od klasycznego problemu 'Nazewnictwo i standardy kodowania' do systemu automatycznej translacji i peardoc. Sebastian Bergmann i Kristian Köhntopp pracowali intensywnie nad XML_Transformer, co nas bardzo cieszy - w końcu powstało bardzo dobre wydanie stabilne.
W tym tygodniu pojawiły się cztery wydania stabilne, co samo w sobie jest dobrą informacją, a do tego jedna beta.


Nowe wydania

Stabilne

Beta


Nagłówki z PEAR-DEV

Strona PEAR i menedżery pakietów

Grupa pearweb pracuje obecnie intensywnie nad dopracowaniem ostatnich detali i rozwiązaniem problemów witryny PEAR. Potrzebują pomocy, aby narzędzie które stworzą było maksymalnie przydatne i stabilne - dlatego przyda się odzew od odwiedzających i programistów PEAR. Jeśli korzystasz ze strony PEAR albo z jednego z dostępnych menedżerów pakietów, mocno polecamy poinformowanie ich o problemach, które napotkasz albo pomysłach ulepszeń, co można zrobić na dobrze znanych listach znanych listach albo na stronie bugów php. Z góry dzięki za informacje.

PS: Aby dostać się na wersję beta strony trzeba uaktywnić cookie 'devme', wejdź pod ten link aby to zrobić: http://pear.php.net/?devme

MDB - opisy, odzew użytkowników i współtworzenie

W tym tygodniu zauważyłem, że wiele osób nie wie albo ma błędne pojęcie o celach i funckcjonalności MDB. Dlatego poprosiłem autora, aby krótko wyjaśnił 'co&jak' pakietu MDB:

** Różnice między PEAR DB a PEAR MDB
Oba pakiety mają bardzo podobne wspólne API do wszystkich wspieranych RDBMS (więc użytkownicy PEAR DB będą się czuli jak w domu). PEAR MDB idzie znacznie dalej jeśli chodzi o abstrakcję RDBMS. Poza emulacją sekwencji jest również ahstrakcja typów danych (np. nie wszystkie RDBMS obsługują timestamp w ten sam sposób), tworzenie, zmienianie i usuwanie indeksów, tabel i baz danych. Ma też niezależne od typu bazy danych zarządzanie schematami. Oznacza to, że nei trzeba tworzyć osobnych schematów SQL dla każdego typu wspieranej bazy danych. MDB możne nawet zmienić bazę danych jeśli plik schematu został zmieniony. PEAR MDB korzysta z doświadczeń zdobytych przy pracach nad PEAR DB i z tego powodu jest conajmniej tak szybki jak PEAR DB.

** Wyjaśnienei
Obecnie PEAR MDB nie obsługuje tylu sterowników co PEAR DB. Z tego powodu, a także dlatego, że PEAR MDB jest nowszy, nie powinno się uważać go za stabilny w takim stopniu, jak PEAR DB. zajżyj do Readme.txt po dalsze szczegóły.

Przy okazji - Lukasowi brakuje informacji o eksperymentach i odzewu, które są niezbędne do szybkiego stworzenia stabilnego i przydatnego narzędzia. Lukas poszukuje osób, które chciałyby współtworzyć MDB tworząc nowe sterowniki, obecnie priorytetowe są MS SQLServer i Oracle. Możesz się skontaktować z Lukasem przez listę peardev albo ze strony MDB.

Dokumentacja PEAR, japońskie tłumaczenie

Yasuo Ohgaki  rozpoczął w tym tygodniu proces tłumaczenia dokumentacji PEAR na japoński. Z radością przywitaliśmy tą inicjatywę.

Pear Weekly News umieszczone w newsletterze Nexen

Dzięki Damien'owi Seguy, który dodał PEAR weelky do newslettera nexen. Tą drogą możecie (zostawiając notkę o prawach autorskich) rozsyłać te wiadomości do swoich list i stron. W przypadku problemów czy pytań możecie się skontaktować z nami na liście mailowej peardev

Skrót z PEAR-DEVc

FAQ licencyjny PEAR dostępny

Lista zalecanych licencji dla PEAR jest już dostępna w PEAR FAQ.

Upiększacz kodu PHP

Jens Bierkandt zaproponował dodanie swojego modułu upiększającego kod źródłowy do PEAR. Któż z nas nie stracił kiedyś godzin na przeformatowanie kodu? Ten moduł powinien rozwiązać ten problem, a oto jego główne cechy:
Pakiet powinien być wkrótce dostępny w CVS PEAR.

Inline::C w php ?

George Schlossnagle zasugerował dodanie właściwości dobrze znanej ze świata perl: Inline:: C. Oczywiście nie chce wynajdować koła po raz kolejny. Celem jest umożliwienie wykorzystania narzędzia w taki sposób:
<?pseudocode
$function_def = <<<EOF
php_function(times){
    int i,j;
    return if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, &i,&j) = FAILURE)
RETURN_LONG(i*j);
}
EOF
Inline_C($function_def);
times(2,2);
?>
Inline_C brałby blok kodu w C, dodawałby wymagane do stworzenia modułu informacje, a po kompilacji do kodu binarnego umieszczałby w cache i ładował przez dl().

Nazewnictwo i RFC

 Mika Tuupola zasugerował dodanie kilku rekomendacji na temat użycia nazw konstruktorów i fabryk klas ( ten wątek).

I18N i system do tłumaczeń

Wojciech Zieliñski  przypomniał o swojej propozycji pakietu do maszynowego tłumaczenia. Obecnie Wolgang Kriesing pracuje nad takim pakietem (I18N), który jest na razie dostępny tylko w CVS. Jeśli tłumaczenia maszynowe albo internacjonalizacja jest ci potrzebna przy projektach albo chcesz im pomóc, możesz się z nimi skontaktować przez peardev.

Z tej samej serii, James E. Flemer zasugerował moduł będący interfejsem webowym dla tłumaczy umożliwiający tworzenie i utrzymanie katalogów gettext (ogłoszenie).

Bugi i poprawki

Dzięki za znajdywanie błędów i pare poprawek otrzymują: Nigel Armstrong, Adam Morton, Rob, Richard Heyes.

Nowe i proponowane pakiety

Mail_Queue

Często działania na stronach internetowych powodują akcje rozciągnięte w czasie takie jak wysyłanie wielu maili. Korzystając z tej klasy możesz zapomnieć o denerwującym czekaniu aż te wszystkie maile zostaną wysłane przez smtp czy qmail.
Mail_Queue zajmuje się pięcioma rzeczami:

DB_Grid

Yavor Shahpasov zasugerował moduł udostępniający dynamiczne połączenie między bazą danyche (tablica lub sql) i i tabelą (html lub czysty tekst).

File_Repository

Mike McCallister zaproponował moduł przechowujący pliki własnego autorstwa, bardzo ważny przy znacznych ilościach plików. Rzeczywiście, zauważyliśmy szybki spadek wydajności systemów operacyjnych z tradycyjnymi plikami kiedy tylko ilość plików w katalogu staje się poważna. Ten moduł ma być użyteczną alternatywą Bardzo ciekawe właściwości, możesz się z nimi zapoznać w ogłoszeniu.

Spread API

George Schlossnagle zaproponował dodanie interfejsu spread do PECL. Spread jest narzędziem udostępniającym rozsyłanie wiadomości o wysokiej wydajności i odporności na błędy przy przesyłaniu przez zewnętrzne i wewnętrzne sieci, więcej informacji dosepnych jest na stronie Spread. Interfejs PHP jest aktualnie dostępny tu: http://www.omniti.com/~george/php_spread/php_spread-1.1.tar.gz.

Rozszerzenie dźwiękowe

Tony leake zasugerował dodanie własnego rozszerzenia dźwiękowego do PECL. To pozwoli używać php do pisania zaawansowanych aplikacji zapisujących i przetwarzających dźwięk - takich jak nagrywarki wielościeżkowe. W przyszłości zostanie dopisane więcej funkcji wysokiego poziomu, żeby uczynić składnię ecasound prostszą. Więcej informacji dostępne tu:  http://www.webwise-data.co.uk/php_audio/php_audio_extension.html.


Rozwój

Ruch w CVS w tym tygodniu odbywał się w następujących pakietach:  Log, LiveUser, Python, XML_Transformer, HTTP_Request, Documentation japonaise, DB_DataObject, DBA, HTML_QuickForm, Net_Ping, Tree, Net_DNS, Net_Whois, Crypt_RC4, HTTP_WebDav, MDB, peardoc/FAQ, Mail_Queue.

Nowa i uaktualniona dokumentacja

Nic nie zmieniono ostatnio.