Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomysł na "Lekki" CMS
Avatarus
post
Post #1





Grupa: Zarejestrowani
Postów: 304
Pomógł: 0
Dołączył: 12.12.2006
Skąd: Pszów

Ostrzeżenie: (0%)
-----


Witam
Ostatnimi mieliśmy (i w sumie znowu mam) problemy z serwerami które ciągle nie wyrabiały. Wyszło na to że bazy danych nie wyrabiają.
Mam serwer Homa Business Pro dla strony www.silkroadonline.com.pl.
Problem w tym że używamy PHP-Fusion + PHPBB by przemo...a to jak wiadomo dwa giganty...
No ale dość wstępu.... Po tym całym doświadczeniu postanowiłem napisać własnego CMS którego będę implementować w wszystkich swoich nowych stronach.
Ideą jest CMS w pełni zarządzany w panelu admina, jednak same połączenia z bazą od strony użytkownika mają być ukrócone do minimum.
Chciałbym was zapytać jako specjalistów od php mysql itp czy moje rozwiązania są trafne czy przypadkiem nie robie jakiegoś straszliwego błędu...

Kilka przykładów.
W fusionie menu tworzone dynamicznie na stronie z każdym jej odświeżeniem. Łączy się z bazą, sprawdza linki, potem w skrypcie tworzy cały panel linków. No niby OK, ale moim zdaniem to zbyteczne posunięcie.
Ja zrobiłem coś takiego że Panel nawigacji od strona admina jest także dynamicznie tworzony. Pozycje w menu można przesuwać klikając w strzałki. Można robić poziomy linków, ustawiać jak się mają otwierać jakiego stylu ma używać do kolorowania itp. Tylko potem zrobiłem opcje "Generuj plik nawigacji". Tym sposobem mamy stały plik menu. Nie tracimy zbędnych połączeń na menu, które i tak w 95% czas jest niezmienne.
Kolejna sprawa to artykuły. Nie są one przechowywane w bazie, bo niektóre z nich są naprawdę obszerne. Postanowiłem artykuły trzymać w plikach a w bazie mamy tylko tabele ze spisem artów i podstawowymi informacjami o nich, czyli tytuł, plik, autor, data itp.

Powiedzcie ci czy takie rozwiązania są dobre.

Z góry dziękuję.
Go to the top of the page
+Quote Post
starach
post
Post #2





Grupa: Zarejestrowani
Postów: 999
Pomógł: 30
Dołączył: 14.01.2007
Skąd: wiesz ?

Ostrzeżenie: (0%)
-----


Przechowywanie artykułów w plikach ze względu na dużą objętość nie jest dobry posunięciem.
Przykładem mogą być serwisy hostingowe które po wgraniu przez użytkownika pliku, odczytują jego zawartość i umieszczają go w bazie.
Radzę ci to samo zrobić z artykułami ewentualnie dodać stronicowanie czyli podzielić artykuł na kilka stron żeby łatwiej się go czytało.
Co do generowania "pliku nawigacyjnego" to jest to moim zdaniem dobre rozwiązanie. Taki swojego rodzaju cache (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jeśli idzie o to że jesteś użytkownikiem PHP Fusion i PhpBB to radzę ci przeszukać to forum,
dlatego że oba te systemy uczą programistów bardzo złych nawyków jak używanie globali.
Go to the top of the page
+Quote Post
webdice
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Co do artykułów proponuje Ci użyć cache oraz serializacje. Artykuły oczywiście zapisujesz w bazie, podczas pierwszego połączenia pobierasz z bazy informacje o artykule, następnie serializujesz tablice i zapisujesz do pliku. Od tego czasu klasa obsługująca bazę danych powinna czytać z pliku. Po edycji artykułu usuwasz plik z cache, a sterownik ponownie powinien pobrać sobie dane z bazy i zapisać. To samo możesz zrobić z menu.

Pod wieczór postaram się napisać coś więcej.

Ten post edytował webdicepl 18.01.2008, 13:20:35
Go to the top of the page
+Quote Post
Nekro
post
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 2
Dołączył: 3.01.2007
Skąd: Żory

Ostrzeżenie: (0%)
-----


Cytat(webdicepl @ 18.01.2008, 13:19:53 ) *
Co do artykułów proponuje Ci użyć cache oraz serializacje. Artykuły oczywiście zapisujesz w bazie, podczas pierwszego połączenia pobierasz z bazy informacje o artykule, następnie serializujesz tablice i zapisujesz do pliku. Od tego czasu klasa obsługująca bazę danych powinna czytać z pliku. Po edycji artykułu usuwasz plik z cache, a sterownik ponownie powinien pobrać sobie dane z bazy i zapisać. To samo możesz zrobić z menu.


Zgadzam się z przedmówcą. Takie rozwiazanie zastosowałbym dla wszystkich danych prezentowanych na stronach zarzadzanych przez CMS, czyli: artykuly, newsy, dokumenty, menu itp.
Można by sie nawet pokusic o wrzucanie w cache calych podstron z wygenerowanym html, albo jesli masz podzial na boksy w szablonie wrzucanie do cache kazdego wygenerowanego boksa . Jesli dane z danego boksa sie zmieniaja usuwa sie cache i na nowo generuje.

pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 23:56