Zend_Db a Zend_Db_Adapter

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Zend_Db a Zend_Db_Adapter - Presentation Transcript

    1. Ondřej Flídr
        • Zend_Db
    2. Základy
      • Objektový přístup k databázi
      • Adaptéry pro jednotlivé databáze
      • Nepodporuje perzistentní spojení
      • Zend_Db_Table
      • Zend_Db_Select
      • Zend_Db_Statement
      • Zend_Db_Profiler
      • Zend_Db_Expr
      Ondřej Flídr
    3. α i Ω Zend_Db - ::factory()
      • Jediná metoda Zend_Db
      • Vytváří připravený objekt adaptéru
      • Konfigurace pomocí pole nebo Zend_Config
        • Název adaptéru bez prefixu (obvykle Zend_Db_Adapter_)
        • Nastavení spojení a hodnot
      Ondřej Flídr
    4. Zend_Db_Adapter
      • Výkonná moc Zend_Db
      • Reprezentují odlišnosti jednotlivých databází
      • Zend_Db_Adapter_Abstract
      • Lazy connect
        • Adapter se připojuje, až když je to zapotřebí
          • Možno vynutit - ::getConnection();
      • Nenahrazuje PHP rozšíření
      Ondřej Flídr
    5. Nastavení Zend_Db_Adaptér
      • host
      • username
      • password
      • dbname
      • port
      • options – společné pro všechny adaptéry
      • driver_options – nastavení konkrétního driveru
      • adapterNamespace – prefix vlastních adaptérů
      Ondřej Flídr
    6. Získávání dat
      • ::fetchAll() - všechna data, sloupce číslovány
      • ::fetchRow() - první řádek, sloupce číslovány
      • ::fetchAssoc() - všechna data, sloupce označeny názvem
      • ::fetchCol() - první sloupec, řádky číslovány
      • ::fetchPairs() - pole, první sloupec jako klíče, druhý hodnoty
      • ::fetchOne() - pouze hodnota prvního sloupce v první řádku
      • Liší se použitým fetch modem
      Ondřej Flídr
    7. Vložení dat
      • ::insert();
      • První parametr název tabulky
        • V případě pgsql schémat 'schema.tabulka'
      • Druhý parametr asociativní pole
        • 'sloupec' => 'hodnota'
      • Vrací počet ovlivněných řádků
      • Automatická kontrola dat – parametrizace
        • Není nutné ošetřovat ručně
      • Pro výrazy Zend_Db_Expr
      Ondřej Flídr
    8. Vložení dat – ID vloženého řádku
      • ::lastInsertId();
      • Pro případ sekvencí (např. Postgres) parametry
        • Název tabulky
        • Název primárního klíče
        • Oba nepovinné
        • <NT>_seq resp. <NT>_<NPK>_seq
      • ::lastSequenceId();
        • Pokud název sekvence neodpovídá schématu výše
        • Jako parametr název sekvence
      • Nepoužívat SELECT MAX(id) FROM table
      Ondřej Flídr
    9. Update dat
      • ::update();
      • První dva parametry viz. Insert
      • Třetí parametr podmínka where
        • Pole s podmínkami
        • Řetězce nebo Zend_Db_Expr
        • Nutno ruční quotování
      Ondřej Flídr
    10. Mazání dat
      • ::delete();
      • První parametr název tabulky
      • Druhý parametr podmínky
        • Platí totéž co u ::update();
      Ondřej Flídr
    11. Ošetření dat
      • Quotování
        • Obrana proti SQL injection
      • ::quote()
        • Vloženou hodnotu escapuje a obalí jako řetězec
          • Zend_Db_Expr pouze vrací jako řetězec
          • Zend_Db_Select vyrenderuje a obalí ()
        • Druhý nepovinný parametr je datový typ
      Ondřej Flídr
    12. Ošetření dat
      • ::quoteInto()
        • Nahrazuje placeholdery hodnotami
        • První parametr je řetězec, do kterého se vkládájí hodnoty
          • Umístění hodnot označuje placeholder ?
        • Druhý parametr je hodnota k ošetření
          • Ošetřuje se pomocí ::quote()
        • Třetí parametr je SQL datový typ
          • Předává se jako druhý parametr ::quote()
        • Čtvrtý parametr je počet placeholderů k nahrazení
      Ondřej Flídr
    13. Ošetření dat
      • ::quoteIdentifier()
        • Ošetření názvů tabulek, sloupců apod.
        • Obaluje se znakem pro identifikátory dle adaptéru
          • Pro Postgres &quot; , pro MySQL `
        • Obalené identifikátory jsou case sensitive!
        • Standartně automatické
      • ::quoteTableAs, ::quoteColumnAs
      Ondřej Flídr
    14. Transakce
      • ::beginTransaction() - začátek transakce
      • ::commit() - potvrzení transakce, zapsání změn
      • ::rollBack() - zrušení transakce a změn
      • Každý příkaz je transakce
        • Autocommit mod
      Ondřej Flídr
    15. Výpis a popis tabulek
      • ::listTables();
        • Pole se seznamem tabulek
      • ::describeTable();
        • Metadata tabulky
        • První parametr název
        • Druhý schéma
      Ondřej Flídr
    16. Prostor pro vás Ondřej Flídr
        • ?
    17. Dostupnost slidů a kódu
      • http://blog.snipers-softworks.net
        • Včetně doprovodného textu
      • http://ewiki.ilikethis.cz
        • Sekce o certifikaci ZF
        • Kódy, slidy
      Ondřej Flídr

    + Ondrej FlidrOndrej Flidr, 8 months ago

    custom

    482 views, 1 favs, 0 embeds more stats

    První část prezentací o knihovně Zend_Db, konk more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 482
      • 482 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories