Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Propel, czyli wydajna i wygodna obsługa baz danych w PHP5

Dlaczego Propel

Jeżeli zdecydujemy się już na wdrożenie jakiegoś rozwiązania typu ORM, dlaczego wybierzemy akurat Propela? Jest wiele argumentów, które za tym przemawiają.

Po pierwsze, od początku był to pakiet zaprojektowany i wykonany z myślą o PHP5. Dzięki temu możliwe było skorzystanie ze wszystkich nowych cech obiektowych tego języka, a powstały w efekcie kod jest stosunkowo prosty i przejrzysty. Propel korzysta również z warstwy abstrakcji dostępu do DB napisanej specjalnie dla PHP5, którą jest Creole. Odcięcie się od PHP4 doprowadziło do zbudowania bardzo lekkiej i funkcjonalnej biblioteki maskującej różnice pomiędzy różnymi systemami baz danych. Jeśli ktoś miał okazję zagłębić się w kod źródłowy np. AdoDB czy PEAR::DB, byłby zaskoczony, jak łatwo i przejrzyście można zaprogramować zbliżoną funkcjonalność.

Poza tym, projekt Open Source to nie tylko gotowe oprogramowanie, które możemy pobrać i wykorzystać w naszych aplikacjach, ale także inne elementy wpływające na użyteczność i komfort pracy. Są wśród nich: dostępna dokumentacja, wsparcie na listach dyskusyjnych, testy jednostkowe itd. Pod tym względem Propel prezentuje się bardzo dobrze. Dokumentacja i support to silne atuty Propela. Przede wszystkim, do naszej dyspozycji jest podręcznik użytkownika, który wyjaśnia większość zagadnień pojawiających się w trakcie pracy - od instalacji po skomplikowane przypadki użycia. Jeśli natrafimy na problem, który nie jest opisany, możemy spokojnie liczyć na pomoc zespołu developerów, skupionego wokół listy dyskusyjnej users@propel.tigris.org. Odpowiedzi na przesyłane przez użytkowników wątpliwości pojawiają się naprawdę szybko i są bardzo konkretne. Aktywność listy dyskusyjnej oraz kolejne wersje biblioteki pokazują, że projekt jest bardzo żywy, rozwija się dynamicznie i nie powinien szybko zniknąć ze sceny. Wręcz przeciwnie - planowane są kolejne jego wydania o poprawionej i uzupełnionej funkcjonalności.

Listing 6. Definiowanie relacji jeden do wielu

<table name="book" description="Tabela książek">
   ...
  <foreign-key foreignTable="publisher">
    <reference local="publisher_id" foreign="publisher_id"/>
  </foreign-key>
    ...
</table>

Listing 7. Nadpisanie metody doSave

<?php
require_once 'bookstore/om/BaseBook.php';
class Book extends BaseBook {
   protected function doSave($con) {

      mail("tlumacz@example.com", "Nowa ksiazka",
         "Dodano nowa ksiazke o isbn ".$this->getISBN());
      parent::doSave($con);
   }
}
?>
Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (0)
Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2017 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System