PHP5 i Creole

Ehh, nauka PHP5 idzie mi dosyć ciężko. Trudno mi załapać tą całą obiektówkę, rzucanie wyjątków, MVC, fabryki, singletony i inne ‘barachło’ :) Chyba za stary jestem na takie zmiany :)

Pare ostatnich dni szukałem jakiegoś layera DB. Kiedyś w paru projektach użyłem PEAR::db, potem napisałem (przerobiłem gotową) klasę obsługującą tylko MySQL + mały benchmark czasów wykonania zapytań/ilości zapytań. Teraz musiałbym to przepisac na Oo i PHP5 więc pomyślałem, że rozejrze się za czymś gotowym co będzie z milion razy lepsze niż moje gryzmoły.

I tak oto wpadłem na Creole. Fajna sprawa. Przy okazji ich manualka skumałem wreszcie o co chodzi w tych zapytaniach preinterpretowanych :) Młodzi – nie śmiać się :) Czytałem fragmencik o tym bodajże w „PHP. Vademecum profesjonalisty” ale nic nie skumałem, kiepsko było wytłumaczone. A tu wystarczyło mi kilka linijek manuala Creole i już, eureka (pyk, zaświeciła mi się żarówka nad „łepkiem” :) )

$stmt = $conn->prepareStatement(„INSERT INTO users (id, name, created) VALUES (?,?,?)”);
$stmt->setInt(1, $id);
$stmt->setString(2, $name);
$stmt->setTimestamp(3, time());
$stmt->executeUpdate();

Co to nam daje? Jesli dobrze skumałem to: raz – odpada ciągłe addslashowanie (tudzież mysql_real_escape_stringowanie) wprowadzanych wartości, a dwa – odpada także sprawdzanie rodzaju (string, int, data…) co w sumie zupełnie eliminuje problem sql_injection.

Jak coś pomyliłem, źle skumałem :) to dajcie znać w komentach :) Ciekaw też jestem jaki wpływ mają takie zapytania na bazy, konkretnie na MySQL? Podnosi to jakoś wydajność? Może wręcz przeciwnie?

Podobne wpisy

Kategoria: PHP Otagowane jako , 3 komentarzy

3 Responses to PHP5 i Creole

  1. Artur Sz. 31-10-2005, 23:48

    Widze ze teraz jest to wlasciwie identyczne z interfejsem jdbc/odbc :)
    Odpada sprawdzanie rodzaju? Czyzby w PHP5 worem Javy wszystko dziedziczy po jakiejs 1 wspolnej dla wszystkich klasie? :)

  2. Michał 'Vengeance' Stanowski 01-11-2005, 00:05

    Tak, Creole to fajna biblioteka.

    A co do wydajności… nie. Nic to nie polepsza ani nie pogarsza od strony bazy danych. Tak czy inaczej Creole prędzej czy później wykonuje zwykły mysql_query (jesli mowa o driverze mysql).

    A programowanie obiektowe (w php5 oczywiscie) to bardzo fajna i przydatna rzecz. Szczególnie przy bibliotekach czy frameworkach i ogolnie wiekszych aplikacjach.

  3. splatch 02-11-2005, 11:10

    Creole było wzorowane na JDBC. ;) Creole jest małe (względem ADOdb) i nieskomplikowane (względem innych biblitek). Obsługuje najczęściej wykorzystywane systemy bazodanowe (MySQL, PostgreSQL, M$$QL, SQL Lite). Jedno, co zastanawia to PDO, które od PHP 5.1 ma się powoli stawać standardem. Co z tego wyjdzie? Sie okaże.

    No i inna rzecz – Creole jest wykorzystywane w Propelu [http://propel.phpdb.org]. Mi obie biblioteki się podobają bo z obydwu korzystam. :)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

© 2005-2012 normanos.com

domeny i hosting