Zdravím,
Dvě níže uvedené funkce dělají to samé,je použití PDO opravdu tak krkolomné,nebo jenom nevím jak nato?
Zkoušel jsem hledat,jestli neexistuje něco jako PDO::PARAM_ARRAY ,ale nic jsem nenašel.
PDO
public function registerUser($data)
{
$sql = "INSERT INTO users (firstname,lastname,username,password,email)
VALUES (:firstname, :lastname, :username, :password, :email)";
$objStatement = $this->getConn()->prepare($sql);
$objStatement->bindParam(':firstname', $data->firstname, PDO::PARAM_STR);
$objStatement->bindParam(':lastname', $data->lastname, PDO::PARAM_STR);
$objStatement->bindParam(':username', $data->username, PDO::PARAM_STR);
$objStatement->bindParam(':password', $data->password, PDO::PARAM_STR);
$objStatement->bindParam(':email', $data->email, PDO::PARAM_STR);
$objStatement->execute();
}
Dibi
public function registerUser($data)
{
return dibi::query('INSERT INTO [users]', (array) $data);
}
Asi bych to rekl opacne, dibi je elegantni:-)
Mimoto, pokud muzes pouzivat dibi misto PDO, tak jenom doporucuju:-)
Editoval arron (23. 3. 2011 21:38)
arron napsal(a):
Asi bych to rekl opacne, dibi je elegantni:-)
Mimoto, pokud muzes pouzivat dibi misto PDO, tak jenom doporucuju:-)
Děkuji a souhlasím, moje dilema je ale v tom, že bych rád v rámci učení se programovat chtěl zkusit naprogramovat si modelovou vrsvu aplikace bez nějakého velkého využívání knihoven třetích stran.
Doufám,že chápete jak to myslím, jsem totiž samouk samotář a neznám všechny ty programátorské pojmy a dojmy :-)
Takže co se přístupu k mysql databázi týče,tak si myslím že z voleb mysql, mysqli a PDO je PDO ta správná,ale je to jen má doměnka.
Zkoušel jsem si naprogramovat nějakou tu business třídu ve stylu ORM. Pro jednoduchý objekt svázaný s jednou tabulkou to bylo paráda a fungovalo to přesně podle mých přestav, ale kamenem úrazu bylo, jak přišlo na řadu více tabulek s cizímy klíči, duplicitami názvů sloupců a mnoho podmínkami typu WHERE atd.
A co se API referencí týče, např: Dibi nebo Nette, tak jsem z nich spíše trochu flustrovaný než chytrý.
A to je asi tak vše k tomu, proč se snažím začínat jen s PDO, zkrátka vědět co dělám.
Každou dobře mířenou radu zkušeného programátora vřele uvítám.
Ja se priznam, ze jsem uplne nejdriv pracoval jenom ceste s mysql funkcemi,
ktere php nabizi (mysql_db_query apod.). A pak jsem rovnu presel
na dibi. Chtel jsem si puvodne napsat neco podobneho sveho, ale pak jsem si
uvedomil, ze muj cas je prilis drahy na to, abych znovu vynalezal kolo, ktere
navic nebude ani tak hezky kulate, jako kolo nekoho jineho:-) Co se snazim rict
je to, ze vyhybat se dibi jenom proto, aby clovek ziskal zkusenosti s necim
low-level mi prijde ztrata casu. Ono dibi samotne je porad jeste hodne
low-level, akorat se clovek nemusi s nekteryma vecma tolik zabyvat (viz. ten
priklad vyse:-)).
Co se tyka toho API. Bez studia to nepujde:-) Ja jsem treba k dibi prisel prostrednictvim tohoto clanku a rekl bych, ze i na strankach dibi je tech prikladu docela dost. Minimalne tolik, aby s tim pak clovek zacal trochu experimentovat:-) Takze zadny strach, zacit po malych kruccich, nejdriv si napsat jednoduchy priklad (cca 3 radky kodu) na vyber dat z databaze a pak s nim trochu experimentovat a sledovat, co to presne udela:-)
Děkuji za radu,zkusím tedy experimentovat.
A brzy naschledanou na Dibi fórum :-)
Smím-li doporučit, navštiv někdy náš jabber, rád ti poradím já, nebo jiní (je to rychlejší než fórum) :)
Neptej se, jestli se můžeš ptát | Blog | Twitter | GitHub | CMS Kdyby
Nette Jabber Room – nette@conf.netlab.cz , všichni jste vítáni