Witam
Po raz kolejny podchodze do napisania systemu, ale chce aby to mialo rece i nogi.
Postanowilem zaczac od porzadnego projektu, aby nie pominac czegos i wiedziec co mam robic.
project wyglada tak:
frontedn:
> klasa body
create_title();
create_site(); // tresc podstrony przez klase site()
create_menu(); //przez klase menu
create_ending();
show($name); //wyswietla jeden z powyzszych elementow
> klasa site
SQL: nazwa_strony, typ
typy:
- zwykla strona(new html)
- strona artykul z linkiem do ?site=article&id=11, jesli w artykule zaznaczono "tytul linkiem"
- strona z lista artykulow
> klasa menu()
show_columns(); //tworzy wszystkie kolumny z menu i zapisuje do wewnetrznych zmiennych
showADMIN_columns(); //zwraca wszystkei kolumny z tablicy
showADMIN_menu($id);
//wyswietlanei menu dla panelu administracyjnego i dla uzytkownika
form_add_menu);
form_edit_menu($id);
form_links_new(); //z mozliwoscia uruchomienia kilka razy i dodawania kilku linkow na raz
//podczas dodawania nowego linku inne beda wyswietlane aby moc dobrze wybrac jego pozycje
NIEZALEZNE STRONY
> klasa article
?site=article&id=24 // artykul
?site=articles_list=3&mode=text // skroty artykulow wedlug listy
?site=articles_list=3&mode=list // lista tytulow z odnosnikami do artykulow
> klasa users
?site=register
?site=login
?site=users&user=34 //iformacje o uzytkowniku < zalezne od tego czy przegladajacy jest zalogowany
?site=users&user=0 //ja
?site=myacc&action=stats
?site=myacc&action=edit
> klasa messages
?site=messages > automatycznie do ?site=messages&action=odebrane
?site=messages&action=write
?site=messages&action=odebrane
?site=messages&action=wyslane
> klasa contact
?site=contact // w miare rozwijania skryptu pojawi sie ?site=form
> klasa questionnaire
?site=questionnaire&id=7
backend:
> klasa menu();
add_menu();
edit_menu();
del_menu();
links_position($kierunek, $link);
links_new($name, $url, $parent, $position) //po dodaniu linka na srodkowej pozycji, wyzsze beda musialy zostac przesuniete o jeden w gore
links_del($id); // po skasowaniu linka z srodkowej pozycji, pozycjie innych bede musialy zostac zmienione
strony
dodaj strone
- zawartosc:
- zwykla strona
- kontakt
- artykul
- jeden z dostepnych //sql: article, id
- pisz nowy
- lista artykulow
- dodaj do menu
- nazwa
- tagi
- opis
- tresc
artykuly
//artykuly zawsze dostepne przez ?site=article&id=31
pisz artykul
- nazwa
- autor
- data utworzenia
- 1/0 utworz nowa strone dla artykulu ?site=smarowanie_lancucha | sql: article,34
- listy // listy, na ktorych znajdzie sie art(dowolna ilosc)
- tytul linkiem - jesli artykul bedzie sie znajdowal na innej stronie niz ?site=article&id=23, to jego tytul bedzie linkiem do tej wlasnie strony
- skracaj do x znakow, jesli jest wyswietlany z poziomu listy
skrypt lista
Rowery.pl > artykuly > poradniki > jak smarowac lancuch
Rowery.pl > artykuly > nieprzypisane > co nowego w sezonie 2012?
> lista - tak z ktorej kliknieto artykul, jesli kliknieto bezposrednio to bedzie tak:
Rowery.pl > artykuly > co nowego w sezonie 2012?
Rowery.pl > sondy > Jak oceniasz strone?
Rowery.pl > artykuly > poradniki > jak smarowac lancuch
Rowery.pl > artykuly > nieprzypisane > co nowego w sezonie 2012?
Rowery.pl > artykuly > jak smarowac lancuch
Rowery.pl > artykuly > co nowego w sezonie 2012?
Rowery.pl > uzytkownicy(jesli niezalogowany to: > logowanie; jesli zalogowany to: > moje konto)
Rowery.pl > uzytkownicy > logowanie
Rowery.pl > uzytkownicy > rejestracja
Rowery.pl > uzytkownicy > moje konto
Rowery.pl > uzytkownicy > moje konto > statystyki
Rowery.pl > uzytkownicy > moje konto > edycja
Rowery.pl > uzytkownicy > moje konto > wiadomosci(oddzielny skrypt dla wiadomosci)
Rowery.pl > uzytkownicy > moje konto > wiadomosci > odebrane
Rowery.pl > uzytkownicy > moje konto > wiadomosci > wyslane
Rowery.pl > uzytkownicy > moje konto > wiadomosci > napisz
Rowery.pl > uzytkownicy > tomek2014
Rowery.pl > uzytkownicy > Kamil1994
Rowery.pl > uzytkownicy > Kamil1994 > napisz wiadomosc
Rowery.pl > uzytkownicy > Kamil1994 > zapros do znajomych
konsola:
zarzadzanie klasami przez konsole
Nie wiem do konca jak np. wyswietlac artykuly - czy robic dla kazdego artykulu nowa podstrone, czy przez ?site=article&id=x, jak zarzadzac listami artykulow - jak spelnic wszystkie zaleznosci pomiedzy klasami, tak aby to mialo jakis porzadek, co zrobic modulem niezbednym, a co dodatkowym pluginem, ktory mozna zaladowac lub nie, jak najlepiej podzielic baze danych.
Jak powinien wygladac porzadny projekt systemu?