Razvoj CMS-a / Content Menagment Systema
Pozdrav svima,
Radio sam na razvoju cms ili content menagment systema, ( php,mysql… ), razvijao module potrebne i sl. No ono što me zanima je, dali ste pronašli na netu kakav članak na ovu temu, kao razvoj cms-a, struktura, "najprihvatljivijih način",efikasnijih.. kao i struktura baze, instalacija modula, korištenje template enginea… Razlog zbog kojeg mi je ovo potrebno jest taj što želim vidjeti dali postoji neki bolji način ( siguran sam da postoji ) i napraviti / unaprijediti postojeći cms. Naravno, za klijente, cms nije problem napraviti i sve, ali za razvoj i projektiranje cmsa dostupnog široj publici tj. "public", ipak bi trebalo ići na to da je cms pristupačan svima u pogledu projektiranja i korištenja. Također bilo bi mi drago ako bi u ovom threadu češće raspravljali o ovoj temi, kao i raspravljali o ostalim cms sustavima, nedostatcima – prednostima i sl. |
Prije nego netko nešto napiše…želio bih predstaviti moj sigurno "neučinkovit i efikasan" baš način, ali zasad ok način strukturiranja cms sustava.
Naime, tokom rada sa cms sustavima i progrmiranje uopće, normalno je da se podaci o bazi, i spajanje na bazi nalaze u odvojenom fajlu, točnije db.inc.php u mom slučaju. Taj fajl, osim podataka za spajanje na bazu i samog spanja na bazu ne treba sadržavati ništa više. Ovaj fajl je smješten unutar inc ili include foldera, kao i još jedan dodatni fajl funkcije.inc.php, u slučaju da se nalaze neke osnovne funkcije koje su često korištene. Sljedeći folder bi bio moduli… U ovom folderu, naravno opet kreiranjem ostalih folder bi bili smješteni moduli koji se koriste u cms-u ( ili ne koriste ), a bili bi instalirni i kontrolirani putem baze, točnije tablice u bazi -moduli- cija bi struktura bila sljedeća: Tbl: moduli ------------------ Id Ime Naslov Opis Updated Instaliran Aktivan Vidljiv ----------------- Mislim da dalje od ove strukture ne bi bilo potrebno objašnjavati… Ukoliko se u folderu moduli nalazi novi modul ( koji ne postoji u bazi ), u administraciji bi se pojavio na listi…zajedno sa gumbom za instalaciju - instalacija na osnovu sql fajla i upisa ostalih podataka koji se nalaze definirane u varijablama unutar modula pod fajlom modul_info.inc.php Također bi se svaki modul ( folder ) sastojao još od folder: Admin Images Gdje bi u admin folderu postojao opcije.inc.php ( sadrzavao array i opcije dostupne u administraciji npr. modid=id_modula_iz_baze&akcija=1) opcije.inc.php: ------------- <? $modul = array( "stranice"=>array( "Stranice", "Pregled", "Dodaj novu", "Kategorisanje stranica" ) ); ?> ----------------- Images bi sadržavao slike potrebne za rad modula. Također bi još postojao i index.php u folderu admin koji bi bio includan u administraciji pozivom na modid i odgovorajuću akciju… U samom folderu modul, postojao bi index.php koji bi bio pozivan sa same stranice - front-end-a.. i koji bi radio dalje potrebno… ( funkcije, glavni ispis, switchevi itd… ) Ovo bi bilo ukratko o modulima, također ovdje je vidljiva neučinkovitost, Nekorištenje Template foldera kao i folder "jezik" i još nekih… -- Dalje, sama administracija bi se sastojala od admin folder unutar roota, i u njoj bi bilo index.php u kojem bi se kreirao layout administracije i pozivale opcije kao i moduli cms-a. Što se tiče login-a, header & footer za admin i ostalo ( moduli ) oni bi također radili i pozivali se iz moduli foldera, tj. sama administracija bi bila modularna. U samom rootu bi bili index.php i fajlovi potrebni za front end ispis. To bi bilo ukratko, još se toga dalo napisati, no želio bih čuti i Vaše mišljenje također… |
Ma to kakav ces CMS da pravis zavisi od ciljne grupe za koju ga pravis. Ja sam recio sebi pravio CMS koji uopste ne lici na ono sto se obicno podrazumeva pdo CMS, to jest uopste ne sadrzi podrsku za podesavanje izgleda i rasporeda sadrzaja klikanjem i trazi da korsinik ima vrlo dobro znanej o HTML, PHP, bazama, i web dizajnu uopste, ali mu olaksava utoliko sto kao module ima gotove programe za razne namene, a koji se medjusobno vrlo lako integrisu i dele funkcije i resurse i uopste sve mehanizme sto je vise to moguce.
Prednsot takog pristupa je recimo sto onaj ko razvija sajt, radi na njemu vec poznat nacin, kao da radi obican statican sajt u HTML-u, samo sto ima mogucnost da uglavi opciju modula u svoj kod gde god pozeli. Tako nema nikakvih ogranicenja gde ce sta da mu stoji, kako ce da izgleda i sto je najvaznije, planiranje i definiciju svega radi na uobicajen nacin a ne juri se sa odcepcima koda po gomili neuhvatljivih i isitnjenih template-ova strpanih u jedan direktorijum ili jos gore, smestenih u bazu. |
Eh, ja kako god da napravim nesto, uvek imam osecaj da je to moglo bolje :)
Sledeci korak u pravljenju web aplikacija je po mom misljenju svakako MVC, recimo preko Zend Frameworka.. Mada je jos u ranoj fazi razvitka.. A sto se template-a tice, smarty. |
Citat:
Ovde imaš spisak i šeme osnovnih funkcionalnosti koje program treba da ima da bi bio CMS: http://www.bris.ac.uk/ISC/cms/features.htm http://www.bris.ac.uk/ISC/cms/wcmsonion.html Inače, mislim da si malo rano počeo sa php kôdom. Prvo napiši funkcionalnu specifikaciju, pa onda kreni sa tabelama i menijima. |
Citat:
|
Citat:
MVC se koristio mnogo pre web aplikacija (nastao je '79, znaci stariji je od mene) ovo sto mi zovemo MVC je u stvari Model2, MVC za web aplikacije koji je definisao Sun. Valjda :1074: |
Citat:
Da li je moguće da MVC tek treba da se desi u PHPu? PHP zajednica ne prati šta se dešava na drugim frontovima?! |
Citat:
|
Svi noviji PHP frameworci su MVC: Symfony, CakePHP, Zend FW... Ne znam zašto ljudi prave toliku nauku oko toga.
|
Vreme je GMT +2. Trenutno vreme je 00:26. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.