nie potrzebuję noża, nie mam żadnych celów zbrojnych, nie mam bejzbola ani wideł gnojnych
31 paź 2005
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?
3 Responses for "PHP5 i Creole"
31-10-2005 @ 23:48 1
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?
01-11-2005 @ 00:05 2
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.
02-11-2005 @ 11:10 3
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.
Zostaw komcia ;)