![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 4 Dołączył: 22.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnio zaświtał mi pomysł na wykonanie zarządzania treścią w systemie cms. Moja koncepcja wygląda tak
Mamy tabele w bazie danych o nazwie "content". W tej tabeli znajdują się kolumny takie jak: Kod value | id | tpl Gdzie: I. value to wartość treści II. ID chyba wiadomo III. Nazwa przydzielonego szablonu Teraz przykład zastosowania mojej koncepcji a więc dodajemy sobie nowy rekord o wartości kolumny "value": Kod title: Nazwa artykuły; text: Jakiś tekst author: autor create-date: 28.08.2005 contact: php.diwi@gmail.com Tak więc moja wizja jest taka. W katalogu templates gdzie trzymamy szablony znajdują się podfoldery o nazwach page_"nazwa_szablonu". Wewnątrz każdego takiego podfolderu mamy 2 pliki: -config.inc -template.tpl config.inc przechowuje informacje na temat elementów danej strony, przykładowa budowa dla wyżej wymienionej treści będzie wyglądać tak: Kod title | varchar; text | big_varchar; author | varchar; create-date | date_format; contact | varchar; Co to oznacza ? A więc część przed znakiem "|" to nazwa elementu a po tym znaku to rodzaj wartości (Przyda się to potem przy tworzeniu formularza do dodawania treści) Dzięki takiemu rozwiązaniu możemy budować podstrony składającą się z bardzo dużej ilości elementów bez ograniczenia związanego z określonymi polami w formularzu dodawania treści. Co do drugiego pliku template.tpl to odpowiada on za wyświetlanie informacji i może on dla powyższego przykładu wyglądać tak: Kod <b>{content.title}</b> <p>{content.text}</p> <br /> <span>Autor: <a href="mailto:{content.contact}">{content.autor}</a></span> <br /><br /> Data dodania: {content.creation-date} Niestety co do szablonów to ich zawartość jest przydzielana na stałe ale można tworzyć nowe dlatego jest to dosyć elastyczne rozwiązanie. I teraz pytanie do was czy taka koncepcja jest dobra i czy iść w tą stronę ? Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 4 Dołączył: 22.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hehe, no i wykopaliście mój temat sprzed prawie roku.
Cytat Z takikm podejściem, to zacznij lepiej sadzić kwiatki. A jak myślisz, po co wymyslono bazy danych? Z twoim podejściem, to równie dobrze mozesz napisać wszystko na plikach - efekt będzie ten sam. Skoro bazy danych składają się (między innymi) z tabel, tabele z kolumn a kolumny maja różne typy, to najlogiczniejszym rozwiązaniem jest korzystanie z tego. To co Ty próbujesz zrobić jest tak bardzo nielogiczne i udziwnione, że zapewniam Cię, że polegniesz przypierwszej próbie implementacji tego zagadnienia. Wierz mi, że widziałem bazy danych (produkcyjne, nie testowe), które w pojedyńczej tabeli miały po kilka milionów rekordów a import takiej bazy w Oracle9 potrafił trwać i godzinę - i jakoś producent oprogramowania (firma z 15letnim doświadczeniem) nie wpadł na pomysł, żeby wpychac wszystko w jedno pole. To jest absurd. Wręcz przeciwnie - powiem Ci, że czasami (często? - zalezy od problemu) stosuje się nadmiarowość danych - oczywiście z zachoweaniem zdrowego rozsądku - właśnie po to, zeby zapewnić sobie przerzucenie jaknajwiększej ilości obliczeń na SQL. Pozatym - porównaj sobie szybkośc działania wyspecjalizowanego silnika bazy, którego podstawą działania jest mielenie ton informacji a prościutyka funkcyjke explode... Pomyśl nad narzutem prędkości i zuzycia pamięci, które te explode spowoduje. Jeszcze raz: zastanów się,. dlaczego bazy danych maja typy pól, tabele i wszelkie inne mechanizmy. A póżniej pomyśl nad tym, co chcesz zrobić. Szkoda Twojego czasu i pieniędzy na prąd. W zupełności się z tobą zgodze. Ten post był pisany bez przemyślenia. W ostateczności zaplanowałem wrzucić każdy element do osobnej kolumny (uznałem że to najlepsze rozwiązanie) Pozdrawiam |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 16:04 |