Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][CMS] System podstron
Forum PHP.pl > Forum > PHP
sebekzosw
Witam,

jestem na etapie przebudowy CMS i chciałem przebudować system podstron na stronie. Obecnie jest tak, ze jak wejdę na www.domena.pl/kontakt/ to sprawdza czy istnieje plik kontakt.php w katalogu `podstrony` a jak nie istnieje to pobiera podstronę z bazy. Doszedłem do wniosku, że można to ukrócić umieszczając wszystko w bazie. I moje pytanie do Programistów PHP - czy pomysł dodawania skryptów PHP podstrony do bazy, np do pola `php` to dobry pomysł? Wyraźcie tutaj swoje zdanie na ten temat.
wizu
Moim zdaniem to dosyć dziwny pomysł. Jeśli nie masz zamiaru przeprojektowywać całego systemu, to obecne rozwiązanie nie jest aż takie złe.
Jeden file_exist() nie robi absolutnie żadnej różnicy, a wrzucanie skryptu do bazy tylko z jego powodu (zresztą praktycznie z każdego powodu) nie jest dobrym rozwiązaniem, wprost przeciwnie.
viking
Jeśli pomoże utrzymać porządek i kontrolę nad projektem zarazem przy dobrze rozwiązanym cache to jak najbardziej dobre rozwiązanie. Ale zobacz raczej jak to jest zrobione we frameworkach.
marins
Cytat(sebekzosw @ 27.01.2012, 01:22:05 ) *
czy pomysł dodawania skryptów PHP podstrony do bazy, np do pola `php` to dobry pomysł?


Jest to pomysł najgorszy chyba z możliwych!!!
Miałem kiedyś nieprzyjemność wglądu do takiego cms'a, czasem php był ładowany z bazy, czasem z pliku.
Szukanie to była zmora, no i edycja też.

Poza tym, taki kod trzeba wyjąć z bazy i go wywołać - nieoptymalne rozwiązanie.

Dobre gdy chcesz sobie edytować php np.: w phpmyadmin - ale te czasy to już chyba DAWNO minęły

zawsze, wszędzie i każdego będę nakłaniać do nietrzymania kodu php w bazie danych.
ShadowD
Ja też raczej bym się trzymał z daleka od takich pomysłów, kod w bazie = eval = zło! haha.gif

A tak szczerze to po prostu zrób całość w bazie i coś w rodzaju templatek do każdej podstrony, edytując podstronę masz listę do wyboru np. strona tekstowa, news, kontakt i z tej listy wybierasz co Cie interesuje i panel na tej podstawie udostępnia Ci edycję, albo pole do newsów albo do tekstu podstrony, a w kodzie masz każdą templatkę oddzielnie zapisaną tak jak w wordpress - to jest chyba najlepsze rozwiązanie, a na pewno lepsze od trzymania całości w bazie i daje Ci dodatkowo ogromne możliwości dodawania i usuwania takich templatek.
sebekzosw
to teraz tak trochę z innej beczki, a konkretnie chodzi mi o Smarty.

mam plik pages.tpl a w nim kod"

Kod
<p>{$page.text}</p>


w zmiennej znajduje się kod HTML podstrony (jeżeli jest z panelu admina dodawana.

a co jak w tej zmiennej znajdzie się kod Smarty? coś typu

Kod
$p = 'Moja tresc z bazy i obecny czas to: {$smarty.now}, ktory pokazuje w pliku pages.tpl';


jak go przetworzyć przez smarty


EDIT: znalazłem odp: http://www.smarty.net/docs/en/language.function.eval.tpl
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.