Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Ing. Jan Mittner 20.11.2011. 1. Rozšíření modelu 2. Vazba 1:n 3. Vazba m:n 2.

Podobné prezentace


Prezentace na téma: "Ing. Jan Mittner 20.11.2011. 1. Rozšíření modelu 2. Vazba 1:n 3. Vazba m:n 2."— Transkript prezentace:

1 Ing. Jan Mittner

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

3  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 3

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  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 5

6  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í 6

7  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 7

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é commitovat doč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 8


Stáhnout ppt "Ing. Jan Mittner 20.11.2011. 1. Rozšíření modelu 2. Vazba 1:n 3. Vazba m:n 2."

Podobné prezentace


Reklamy Google