Qcodo 0.3.32

Qcodo to opensourcowy (licencja MIT), napisany w PHP framework (szkielet aplikacji i zestaw komponentów do wykorzystania) ułatwiający tworzenie aplikacji internetowych (webowych) w PHP. Wykorzystuje technologię AJAX, co umożliwia tworzenie dynamicznych stron WWW. Jest także wielojęzyczny – ma wiele wersji językowych, m.in. angielską, francuską, włoską, rosyjską, litewską, holenderską czy czeską (niestety, na razie brakuje polskiej).

Qcodo Opiera się na idei rozdzielenia warstwy prezentacji od logiki aplikacji i generowaniu kodu (ang. code generation). Ta ostatnia idea jest konkurencyjna wobec metaprogramowania (ang. metaprogramming)i wzorca projektowego ActiveRecord i polega na automatycznym tworzeniu m.in. kompletnego kodu do obsługi tabel bazodanowych, podczas gdy w ActiveRecord zdefiniowalibyśmy ogólne zasady mapowania tabel bazodanowych na obiekty, a wszelkie wykorzystywane przy tym metody byłyby generowane na bieżąco, gdy są potrzebne, co z kolei pociąga za sobą mniejszą wydajność.

Funkcjonalność Qcodo koncentruje się na tworzeniu interfejsu graficznego (GUI, ang. Graphical User Interface) z użyciem obiektów oraz zdarzeń (ang. events) i sygnałów (ang. signals). Wszystkie elementy interfejsu graficznego w Qcodo są kontrolkami (widgetami), czyli obiektami graficznymi mającymi zestaw właściwości (np. kolory, położenie, wymiary, opis, zamieszczony rysunek, krój czcionki, itd) i metod realizujących reakcje na zdarzenia, takie jak kliknięcie przycisku. Informacje o zdarzeniach są wysyłane do obiektu za pomocą wspomnianych już sygnałów. Wszystkie widgety w Qcodo są odrębnymi klasami, ułożonymi w postaci hierarchii dziedziczenia, na której szczycie stoi klasa QControl (główny widget). Co więcej, wszystkie kontrolki w Qcodo odpowiadają elementom HTML-owym; mamy więc pola tytułu, akapity, tabele, divy, spany, listy numerowane i nienumerowane i wiele innych. Osobny zestaw widgetów został przewidziany dla formularzy (Qforms); zawiera on wszystkie elementy tych ostatnich, włączając w to przyciski, listy przewijane, pola tekstowe, checkboksy, przyciski radiowe (radioboksy), itd.Wszystkie z tych klas dziedziczą po Form. Obsługa formularzy odbywa się z wykorzystaniem technologii AJAX, dzięki czemu możliwa jest również walidacja po stronie klienta, która – choć nie może zastąpić sprawdzania danych przez serwer – znacząco ułatwia życie użytkownikom naszej witryny i poprawia wydajność łącz, gdyż nie pozwala na wysłanie źle wprowadzonych danych, co z kolei oszczędza czas potrzebny na odpowiedź serwera.

Interfejs graficzny to jednak nie wszystko: Qcodo ułatwia nam także obsługę baz danych, pozwalając na wspomniane już generowanie kodu. Mamy tu możliwość łączenia się z bazami danych różnych producentów (m.in. MySQL i PostgreSQL), korzystania z tabel bazodanowych zawierających klucze główne (primary key) i obce (foreign key), obsługi transakcji (rozpoczynanie (begin), wykonywanie (commit) i cofanie (rollback)), wysyłania zapytań i przetwarzania wyników. Dostępne są metody, które pobierają listę wszystkich tabel, kluczy obcych lub indeksów dla danej tabeli, generują zapytania w technologii prepared statements (przygotowujemy zapytanie, do którego następnie podstawiamy parametry, vide PEAR::DB lub PDO, warunki sortowania i ograniczania wyników). Do dyspozycji mamy także generator zapytań SQL-owych (Qcode Query), który zajmuje się ich budowaniem w oparciu o kryteria podane w osobnych metodach.

Qcodo wspomaga nas również w wysyłaniu maili; dostępne są klasy ułatwiające konfigurację i obsługę serwera pocztowego (QEmailServer), generowanie wiadomości (QEmailMessage) oraz obsługę załączników (QEmailAttachment) i typów MIME (QMimeType). Kolejne grupy klas w Qcodo ułatwiają generowanie i korzystanie z kanałów RSS (QRssFeed, QRssImage, QRssItem czy QRssCategory), użycie protokołu komunikacyjnego SOAP (architektura klient-serwer zbudowana w oparciu o protokół HTTP i standard XML) czy internacjonalizację (QI18ni QPoParserException). Twórcy Qcodo pomyśleli również o obsłudze wyjątków (ang. exceptions) i praktycznie dla każdej grupy klas załączyli klasy, które się tym zajmują.

Poważną zaletą frameworka Qcodo jest jego rozbudowana dokumentacja; w najnowszej stabilnej wersji projektu, noszącej numer 0.3.32 rozbudowano współpracę z bazami danych i obsługę formularzy. Poprawiono również błąd związany z wykorzystaniem blioteki graficznej GD.
http://qcodo.com/documentation/

Zaloguj się, aby dodać komentarz

Nie masz konta? Zarejestruj się »

Zobacz także

Skuteczne narzędzia do wykrywania uszkodzonych podzespołów

pobierz

Wykrywanie i usuwanie niechcianych programów

pobierz

Polecane artykuły

Array ( [docId] => 49168 )

Array ( [docId] => 49168 )
Array ( [docId] => 49168 )