1 / 8

4IT445 – Model

Ing. Jan Mittner. 4IT445 – Model. Osnova. Rozšíření modelu Vazba 1:n Vazba m:n. Vlastní knihovny. pro zajištění znovupoužitelnosti se může hodit rozšířit Zend knihovny o vlastní logiku (v adresáři library ) a teprve na bázi vlastních knihoven pak stavět modely, controllery atd.

caine
Télécharger la présentation

4IT445 – Model

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ing. JanMittner 4IT445 – Model

  2. Osnova • Rozšíření modelu • Vazba 1:n • Vazba m:n

  3. Vlastní knihovny • pro zajištění znovupoužitelnosti se může hodit rozšířit Zend knihovny o vlastní logiku (v adresáři library) a teprve na bázi vlastních knihoven pak stavět modely, controllery atd. • My_Db_Table • metoda getById() – vrácení objektu dle primárního klíče • My_Db_Table_Row • dynamické gettery / settery pro atributy objektu • inflektor pro získání názvu atributu

  4. Servisní přístup k modelům • nová třída My_Model v rámci vlastní knihovny umožňuje servisní přístup k jednotlivým objektům modelů • slouží primárně k vytváření instancí tříd modelů vycházejících z My_Db_Table • pro každou třídu si vytvoří pouze jednu její instanci, kterou si drží v registrech a následně ji na požádání vrací • není totiž nutné vytvářet více instancí těchto modelů, jelikož nedrží svůj vnitřní stav, ale pouze nabízejí servisní přístup k využití dat z databáze • implementuje návrhový vzor singleton • využití třídy My_Model je praktikováno v rámci kontrolleru ProductController 4

  5. Výrobce • ke každému produktu přiřadíme výrobce – vazba 1:n • DB – nová tabulka manufacturers a vazba na tabulku products • nové objekty modelů • Manufacturers – obsluha tabulky výrobců • Manufacturer – objekt reprezentující jednoho výrobce • rozšíření modelů produktů • Products – referenční mapa na objekt výrobce • Product • getManufacturer() – vrácení navázaného objektu výrobce • getFullTitle() – tvorba plného názvu objektu kombinující název výrobce • rozšíření view šablon produktů • použití metody pro plný název produktu

  6. Kategorie produktů • projekt rozšíříme o kategorie produktů – vazba m:n – produkty mohou spadat do více kategorií • DB – nová tabulka folders a vazební tabulka products_has_folders • nové objekty modelů • Folders – obsluha tabulky kategorií produktů • Folder – objekt reprezentující jednu kategorii produktů • ProductsHasFolders – vazební objekt propojující produkty a kategorie • rozšíření modelů produktů • Product • getFolders() – seznam kategorií, do nichž je produkt přiřazen • rozšíření controlleru produktů • získání všech kategorií produktů • rozšíření view šablon produktů • index.html – výpis produktů podle kategorií • preview.html – výpis kategorií, v rámci nichž se produkt nachází

  7. Úkoly • přidejte další entitu s vazbou na produkty • např. číselník barev, nebo související produkty • tabulka v databázi • modelové třídy • výpis ve view

  8. Subversion • systém Subversion určený pro verzování souborů je vhodné v projektových týmech silně využívat pro zpřehlednění vývoje a sdílení kódu aplikace • je možné využít různé SVN klienty – doporučujeme TortoiseSVN a modul Subclipse v rámci Eclipse PDT • každý tým disponuje vlastním úložištěm • každý člen má přístup k týmovému úložišti • každý tým má FTP úložiště a databázi • po commitu do Subversion se změny automaticky projeví na FTP, tudíž je zde dostupná poslední funkční verze aplikace • do Subversion není vhodné commitovatdočasné soubory a Zend knihovnu – raději na tyto adresáře / soubory použít příkaz svn:ignore a nahrát je na FTP ručně • osobní i týmové přístupové údaje jsou dle vzoru viz http://4it445.vse.cz/ 8

More Related