Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Moja koncepcja cms-a, Czy dobra ?
Diwi
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Diwi
post
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
Go to the top of the page
+Quote Post

Posty w temacie
- Diwi   Moja koncepcja cms-a   30.09.2005, 20:01:43
- - sf   mi sie nie podoba... zreszta jak znam zycie to trz...   1.10.2005, 08:36:29
- - Diwi   Hmm.. no cóż, mi się wydawała dobra dlaczego ? Jeż...   1.10.2005, 09:54:15
- - GrayHat   IMHO konstruktywne   1.10.2005, 11:14:02
- - sf   jak dla mnie bardziej sie przydaja takie pliki kon...   1.10.2005, 11:37:55
- - Diwi   Cytatjak dla mnie bardziej sie przydaja takie plik...   1.10.2005, 12:06:44
- - sf   Cytat(Diwi @ 2005-10-01 12:06:44)Nie rozumiem...   1.10.2005, 13:44:10
- - Diwi   Hmm.. a jaki framework polecalibyście do tego typu...   1.10.2005, 13:50:21
- - bela_666   Wybór frameworka zależy tylko i wyłącznie od Twoic...   1.10.2005, 14:40:27
- - Diwi   Acha a teraz mam jeszcze pytanie co do koncepcji z...   1.10.2005, 18:56:03
- - sf   a nie mozesz zrobic dla kazdej tej danej osobnej k...   1.10.2005, 19:25:44
|- - .rh-   Cytat(sf @ 1.10.2005, 18:25 ) a nie mozes...   13.07.2006, 08:09:35
- - Diwi   Ale takie rozwiązanie jest bardziej elastyczne dla...   1.10.2005, 19:46:49
- - aleksander   a nie lepiejzrobic dodatkową tabelę z atrybuitami?...   1.10.2005, 21:46:28
- - Diwi   NO tak ale wtedy zapychamy strasznie bazę rekordam...   1.10.2005, 22:20:40
|- - scanner   Cytat(Diwi @ 1.10.2005, 23:20 ) NO tak al...   14.07.2006, 07:04:52
- - ebe   Nie podoba mi się to trzymanie całych obiektów w j...   1.10.2005, 22:26:18
- - Diwi   Hmm.. pomysł z xml-em podoba mi się . Pewnie przer...   1.10.2005, 22:36:47
- - ebe   Prasuj to domem, bo jabyś chciał robić na pregach ...   1.10.2005, 22:40:30
- - mike_mech   Nie no ludzie, opanujcie się. Trzymać w bazie XML...   1.10.2005, 22:43:17
- - Diwi   Cytatwszystko zachęcam do sposobu z atrybutami i w...   1.10.2005, 22:44:14
- - Diwi   Hehe, no i wykopaliście mój temat sprzed prawie ro...   14.07.2006, 08:06:27
- - scanner   Cytat(Diwi @ 14.07.2006, 09:06 ) Hehe, no...   14.07.2006, 09:32:05


Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 16:04