Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: architektura cms'a
Forum PHP.pl > Forum > PHP > Object-oriented programming
karis
witam

jaki macie pomysł na napisanie architektury cms'a obiektowo, z możliwością łatwego operowania na szablonach (jakiś syste3m szablonów) o funkcjonalnośći zbliżonej do joomli?

wszelkie sugestie mile widziane
marcio
Moze pokaz co ty wymysliles bo zaraz zacznie sie flame ktora "metoda" jest lepsza, co programista to inna "metoda" smile.gif
karis
Głównie zachodzi u mnie problem z systemem paneli.
Panele będą dodawane w bazie. W bazie będzie pole z informacją czy ma ciągnąć dane z pliku czy z bazy. Jeśli dane z pliku, wtedy jest odpowiedni include wstawiany w kodzie. Aktualny mój system szablonów opiera się o funkcje php, czyli np w pliku szablonu html wstawiany jest kod:

  1. <?=panele(miejsce); ?>


Napisałem również swój własny system szablonów, który wygląda następująco:

http://wklej.org/hash/1462e08296/

Niestety, w nim jest problem.
Żeby ustawić wartość dla zmiennej robię w pliku php coś takiego:

  1. $szablon = new Szablon();
  2. $szablon->set('nazwa_zmiennej], 'wartosc');
  3. $szablon->load('plik.html');


Żeby zamienić tą funkcje <?=panele(miejsce); ?> na {panele.miejsce}, musiałbym postąpić tak:

  1. $szablon->set('panele.dol', panele('dol'))


jednak tam może być include, lub echo i tym samym wykona się nie w miejscu zamiany tego tagu na wartosc "tej zmiennej" tylko na samym początku i kod html się rozwala.

Najbardziej chodzi mi o to jak wykonać taką architekturę, by możliwe było łatwe zastosowanie takiego systemu szbalonów, pod taki system paneli itp
marcio
Cytat
jednak tam może być include, lub echo i tym samym wykona się nie w miejscu zamiany tego tagu na wartosc "tej zmiennej" tylko na samym początku i kod html się rozwala.

Najbardziej chodzi mi o to jak wykonać taką architekturę, by możliwe było łatwe zastosowanie takiego systemu szbalonów, pod taki system paneli itp


Z tego co zrozumialem to u ciebie panel to modul/komponent, jesli tak moge ci przeslac pliki i zobaczysz jak to dziala w moim skromnym FW.

Ogolnie kazdy modul/komponent czy nawet plugin i/lub widget nie powinny wyswietlac danych za pomoca echo() czy print() tylko zwracac dane za pomoca return, wtedy unikniesz problemy ktore teraz masz.  

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.