Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Objasnjenje Modularnog Programiranja!

[es] :: PHP :: Objasnjenje Modularnog Programiranja!

[ Pregleda: 1530 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Objasnjenje Modularnog Programiranja!25.02.2012. u 17:11 - pre 113 meseci
Drustvo potreban mi je vas savet i objasnjenje, ja imam svoj cms koji je radjen u CI FW.
Razumem ja sta je modularno programiranje sve je to ok, moja app je radjena po HMVC strukturi.
E sada ja bih hteo malo da promenim sam postupak komunikacije mojih modula i informacije o njima.

Ja u mom cms-u imam u navigaciji module stavku, koja mi izlistava instalirane module i informacije o njima.
Sada meni se nesvidja moj postupak instalacije mojih modula.

Ja kada instaliram novi modul putem upload forme (module.zip) na submit raspakujem zipovan modul u moj direktorijum gde se nalaze ostali moduli, u toku instalacije pravim odredjene tabele u bazi ako su neophodne i upisujem novo ime u instaliranim modulima i tako citam iz baze koji su mi moduli instalirani za prikaz u admin panelu. Meni se nesvidja sto ja sve informacije drzim u bazi nekako mi usporava proces svega.

Pokusavam da skapiram kako joomla radi ali mi neide sama njihova procedura modula i nerazumem bas dobro.
Video sam citajuci tutoriale ( joomla creta own module ) oni vecinu informacija o modulu cuvaju u XML fajlu? Ispravite me ako gresim?
I za prikaz u admin panelu on cita informacije iz xml-a a ne iz baze? Kako joomla zna koji je modul instaliran a koji nije?

Ja bih hteo da razvijem kvalitetno taj deo izmedju komunikacije i instalacije modula jer oni mi cine ceo cms...

Kod mene kada je instaliran modul ja hvatam parametar iz URL-a ($this->uri->segment(3)(www.example.com/index.php/module) i pomocu tog parametra ja znam koji je modul u pitanju i onda ga pozivam.

Meni je ovo sto sam ja radio nekako prljavo kako ja kazem, zelim da bude dobro i zato zelim da vi koji ste iskusniji mi pojasnite kako je najbolje to odraditi..

Zelim pojasnjenje od same instalacije modula sta jedan modul mora da ima pri instalaciji u tom xml fajlu i sta ja sve cuvam u tom xml-u?
Znaci ono kada pritisnem submit zanima me koji proces treba da se uradi i dali ja nesto cuvam bazi?

Netreba kod da mi pisete,vec neko da mi pojasnite kako to ustvari radi da ja stvorim sliku u glavi...

Sve to mi je nekako konfuzno imam hiljadu ideja i ne znam koja je ispravna, nezelim ja da kopiram joomlu ali vidim ta oni imaju taj proces jako dobro razvijen.

Svaki predlog mi je dobrodosao!


Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Objasnjenje Modularnog Programiranja!25.02.2012. u 22:10 - pre 113 meseci
Ako želiš da modulima, pored toga što su instalirani, omogućiš i da imaju stanje "uključen" i "isključen" ne gine ti da to moraš zapisati u nekakvu bazu, bila to INI, XML, ili DB.

I inače, ne verujem da su svi moduli koje si pisao bili ne-konfigurabilni, sigurno si imao potrebu da za neki od njih napraviš namensku stranicu na kojoj su mogli da se konfigurišu neki parametri, tako sigurno imaš potrebu za nekom DB.

Vrlo slično radim i ja u svom CMSu, jedino sam izvukao podatak "enabled" za sve module u INI datoteku (brže se parsira od XML) tako da bootstrap na osnovu naziva generiše putanje za index.php svakog uključenog modula i pozove ga, a ako modul ima potrebe da čita iz baze - to je već njegov problem.

Mada, opet, ako radiš keširanje baze onda možeš to sve držati u tabeli i pročitati je celu, sadržaj takve tabele se vrlo retko menja pa će uglavnom to stizati iz keša.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Objasnjenje Modularnog Programiranja!25.02.2012. u 23:32 - pre 113 meseci
Cek ako kesiram podatke znaci on posle toga ako nema nikavog update u bazu on cita samo iz (cache) kesa? Predpostavljam da je onda brza komunikacija...

Pazi kako sam ja danas nesto odradio napisao par klasa gde vise radim sa XML-om.

Moj dir za module je sledeci.

|-Root
|--Application
|--System
|--Modules
|-----Test_Modul
|---------Controllers
|---------Model
|---------Views
|---------Language
|---------Config
|---------Test_Modul.xml
|--index.php

Danas sam promenio ceo postupak korisim bazu samo da bi smestio #id, ime modula i status, 1=instaliran, 0=neinstaliran.
Sve ostale parametre modula sam smestio u XML.
Kada menjam iz admin panela parametre modula ja onda updetujem XML fajl i za prikaz tih parametra citam iz XML fajla?
Pokusao sam i nekako mi brze i fleksibilnije radi.

Znas kako problem je u meni ja sve sto napisem to meni nevalja i da valja meni ne valja. Jednostavno mi treba resenje koje je ono razvijeno do same srzi, tezim za tim da to bude profesionalno. Kada neko drugi uzme da gleda kod da skapira sta je to a ne da bude neka budzotina od kojih se iskreno jezim.

Sta mislis o ovome sto sam naveo jel po tebi/vama to dobro ili lose?
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.eunet.rs.



+19 Profil

icon Re: Objasnjenje Modularnog Programiranja!26.02.2012. u 10:15 - pre 113 meseci
Uglavnom ovo je dovoljno dobro.

Još ubaci negde i oznaku verzije modula da bi znao dali treba da ga update-uješ ili ne.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 400
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Objasnjenje Modularnog Programiranja!26.02.2012. u 12:58 - pre 113 meseci
Davno sam radio jedan sistem sa modulima, gde su se svi moduli smeštali u direktorijum Modules. To je bio veoma jednostavan i funkcionalan sistem (hook metoda), a status modula se jednostavno čita iz cfg fajla pojedinačnog modula (1 ili 0, ako je 0 modul se uopšte ne učitava).

Inače, pogledaj Wordpress-ov plugin i hook sistem, neuporedivo je bolje urađen nego kod Joomle. Može ti dati zanimljive ideje.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.isp.telekom.rs.



+7 Profil

icon Re: Objasnjenje Modularnog Programiranja!26.02.2012. u 15:09 - pre 113 meseci
Da toga sam se bas setio, ovo sto ja radim i nazivam ih modulima to nisu moduli vec to bi kod joomle bila komponenta a modul samo blok na nekom delu sajta. Elem to nije sada bitno WP ima predobro razvijen taj sistem ali on je bas ono hard core plugin....

A reci te mi koji je najbolji nacin da pozicioniram neki modul na sajt. (header, left,right,botom, content, sidebar, footer)? mislim na poziije gde da se prokazuje. Ja module izlistavam foreach petljom u dinamickom body-tagu.


Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 400
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Objasnjenje Modularnog Programiranja!26.02.2012. u 15:59 - pre 113 meseci
Postoji više načina da se to uradi, a najviše zavisi od tvog načina kodiranja. Ja to obično ovako radim:
postavim određenu funkciju na mesta gde se može prikazati blok (ili modul, widget...).
Tako odmah pre zatvaranja header taga postavim funkciju load_header_block(); , zatim za footer - load_footer_block(), left, right itd.
U configu samog modula postoje varijable: enabled 1/0, position: left/right/header/footer/content/comments itd.
Svaku funkciju provlačim kroz foreach petlju i na taj način se učitava jedan ili više modula na određenoj poziciji.
Npr. petlja (tj. podaci u petlji) za right block bi izgledala ovako:
add_block("latest_comments", "right");
add_block("latest_members", "right");
add_block("weather_forecast", "right");

Kod prvog primera: latest_comments je modul, right je pozicija
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

[es] :: PHP :: Objasnjenje Modularnog Programiranja!

[ Pregleda: 1530 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.