This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
php:myzfsetup [d.m.Y H:i] – kodmasin | php:myzfsetup [d.m.Y H:i] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | :!: U IZRADI :!: | ||
+ | ====== Setting Zend Framework as framework for modal applications (currently Croatian only) ====== | ||
+ | This solution is implemented in loota2. | ||
+ | ===== Uvod ===== | ||
+ | |||
+ | Ideja je bila postaviti ZF tako da se aplikacije mogu dodavati u njega kao nezavisni modeli. Zamišnjeno je da samo iskopirate svoj modulu (applikaciju) u zadani direktorij i da ona odmh radi. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Struktura (aplikacije kao moduli) ===== | ||
+ | |||
+ | Osnovni izlged strukture direktorija: | ||
+ | |||
+ | {{php: | ||
+ | |||
+ | Direktori '' | ||
+ | |||
+ | Direkctori '' | ||
+ | |||
+ | Direktoriy '' | ||
+ | |||
+ | Direktori '' | ||
+ | |||
+ | |||
+ | ===== Dostupnost slika, .js i .css fileova u aplikacijama ===== | ||
+ | |||
+ | Gotovo uvijek postoji potreba da aplikacije kao moduli imaju svoje public fileove (slike, .css, .js, ...). Da zadrze neovisnost i jednostavnost instalacije (da sve sto se tice jedne aplikacije bude u njenom folderu) trebalo je naci nacina da se ti fileovi mogu prikazati. Bile su dvije mogucnosti. Prva da se to napravi pomocu php ili druga pomocu samog apachea. Varijanta da to radi apache je bolja (brza i jednostavnija za implementaciju) pa sam se odlucio za nju. Za to je trebalo izmjeniti '' | ||
+ | |||
+ | Iz: | ||
+ | RewriteEngine on | ||
+ | RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php | ||
+ | U: | ||
+ | RewriteEngine on | ||
+ | RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php | ||
+ | RewriteRule public/ | ||
+ | |||
+ | Nako ove izmjene svaka aplikacije u svoj '' | ||
+ | |||
+ | :!: - ovo gore se jos mora istestirati i pogledati sama sigurnost rijesenja | ||
+ | |||
+ | |||
+ | ===== layoutManager ===== | ||
+ | |||
+ | :!: 31.01.2008. Izašao je officialna ZF layout klasa - probati cu je iskoristiti ovdije | ||
+ | |||
+ | Posto ZF ne sadrži layout manager napravljen je nakakvi jednostavni layout mamanger baziran na Zend_View klasi. | ||
+ | |||
+ | ===== Prijevodi ===== | ||
+ | |||
+ | Prijevodi su rijeseni s ZF gettext-om. Za one koji ne znaju to je neovisna implementacija gettexta i nema nikakve veze s standardnim PHP gettextom. | ||
+ | |||
+ | Core prijevode loada layoutManager klasa, a svaka aplikacija loada svoje prijevode tako da se zadrži neovisnost. | ||
+ | |||
+ | ===== Baza ===== | ||
+ | :!: 10.3.2009. - cini se da cu morati zamjenit propel necim drugim najverovatnije vratiti na staro (ZF DB klase). Naime pojevio se problem kada jedna aplikacija (modul) treba podatke iz druge applikacije odnosno kada ima svoje tablice vezane foreign key-evima na tablice u drugoj aplikaciji. Tada da bi se koristio propel treba generirati ponovo gererirati klase koje vec postoje u drugoj tablici tako da imamo dupliranje koda koje po mom svakako treba izbjeci. | ||
+ | |||
+ | Nakon puno vremena odlucio sam koristiti [[http:// | ||
+ | |||
+ | Posto je u igri obicno jedna baza i razne aplikacije (moduli) moraju moci dohvacati iste podatke mora se na neki nacin definirati ovisnost modula (gledano na bazu). Ono sto mi je cilj da to rijesim preko ajaxa ali vidjeti cemo. | ||
+ | |||
+ | ===== User Interface (JavaScript) ===== | ||
+ | |||
+ | Za UI odluka je pala na YUI (Yahoo UI) koji se pokazao najednostavniji i relativno dobro dokumentiran. |