Weblap modulárissá alakítása
2010-07-03T23:26:18+02:00
2010-07-04T21:06:12+02:00
2022-06-30T02:16:11+02:00
  • Template kezelés? Felhasználókezelés? Minden, amit nem akarsz mindannyiszor feltalálni.

    Például a galéria modulodnál nem mindegy hogy kik szerkesztik és kik nézhetik meg a galériát. Ez a 2 féle művelet lehet 2 külön modul, de akkor az egyiknél evidens, hogy be kell jelentkezni és megfelelő jogosultsággal kell rendelkezni, a másik esetben meg bárki meghívhatja. Az a jó, ha ilyesmi benne van az alapban és nem kell minden egyes modulnál leprogramoznod. Hanem mondjuk egy config fájlból / adatbázisból kiolvasható hogy milyen szintű felhasználó lehet képes erre. Az semmiképp sem jó, ha "beleégeted" a kódba.

    Egyébként nem értem mi értelme ennek. Azonkívül hogy gyakorolsz és tanulsz. De ez így szerintem lassabb és kevésbé hasznos, mintha megismerkednél egy már létező rendszerrel, rendszerekkel. Miért nem nézed meg a többi CMS rendszert? De tudom ajánlani némelyik MVC keretrendszert is. Például a symfony is könnyen modularizálható. Ott pluginnak hívják az ilyen modulokat. Addig ne kezdj bele egy újba, amíg nem tudod hogy mi hiányzik belőlük.
    Mutasd a teljes hozzászólást!
  • Üdv!

    Régebben készítettem egy egyszerű weblapkészítő programot. Nemrég nagyjából megtanultam, hogy hogyan lehet kezelni az objektumokat PHP-ben. Külön osztályt hoztam létre a felhasználóknak, a template kezelőnek stb. Azonban szeretném az egészet bővíthetővé tenni úgy, hogy később elég legyen telepíteni egy modult és az egyből működjön anélkül, hogy a programomat kelljen módosítani.
    Úgy gondoltam, hogy a modul a template azon részén helyezkedjen el, ahová eredetileg a tartalmat szántam. Így például tehetnék bele galériát, fórumot stb.

    Odáig jutottam el a modulokkal, hogy a program a "core/components/" könyvtárban tárolja a modulokat (pl. com_gallery). Így hívom meg:

    index.php?com=gallery ---------------------- if (isset($_GET["com"])) { $component="core/components/com_".$_GET["com"]."/".$_GET["com"].".php"; if (file_exists($component)) { require $component; } else { $CLASSES["template"]->PageContent=$LANG["component_not_found"]; } }

    A core/components/com_gallery/gallery.php azt csinál, amit akar, csak a template kezelőnek adja át az oldal címét és a tartalmát, hogy lássunk is belőle valamit. Ez működik is.

    Nézegettem CMS rendszereket, abban a modulokat objektum-orientáltan írják, és a modul osztályát származtatják egy előre elkészített osztályból. Az ős osztályba milyen függvényeket érdemes rakni?

    Az a kérdésem, hogy a modulokat hogyan érdemes elkészíteni? Hogy szokás ezeket csinálni?
    Mutasd a teljes hozzászólást!
abcd