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?