Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: planowanie większych aplikacji
Forum PHP.pl > Forum > PHP
shpyo
Właśnie, chciałbym się dowiedzieć jak zaplanować czy też zaprojektować coś większego. Coś w stylu bardzo małego CMS'a?

Ostatnio próbuję napisać serwis z ogłoszeniami w taki sposób aby móc łatwo dodawać nowe rzeczy (np. system bannerowy, artykuły - ocenianie ich, komentzrze itp).
Raz napisałem ten serwis i działa ... ale jak przyszło do poprawek (po dłuższej przerwie) to doszedłem do wniosku, że mam niezły burdel w kodzie (duuużo ilość IF'ów, masa zapytań do bazy itp...).

Więc piszę tutaj o jakieś porady. Kto wie, może z tego topicu wyjdzie coś ciekawego aby zrobić z tego artykuł na php.pl biggrin.gif - bo pewnie większość może mieć podobny problem do mojego.
scanner
Zanim zaczniesz cokolwiek projektować, radze poczytać / nauczyć się:
  • Pisanie kodu zgodnie z zalecanytmi Standardami kodowania
  • Projektować apolikacje zorientowane obiektowo ( zalecam, to upraszcza wiele rzeczy)
  • Zaznajomić się z MVC i tematami podobnymi.
  • Oczywiście szablony...
SongoQ
@scanner Projektowanie to nie kodowanie, to sa zupelnie inne rzeczy, projektuje sie zanim jeszcze kod jest pisany. To co podales to sa rzeczy/elementy ktore pomoga zapanowac nad kodem, aplikacja lub dostosuje do pewnego standardu.

@shpyo Jesli chcesz do tego podejsc powanie radze poczytac o UML'u.

Informacji na ten temat w googlach jest pelno.
bela
Cytat
Projektować apolikacje zorientowane obiektowo ( zalecam, to upraszcza wiele rzeczy)

Cytat
@shpyo Jesli chcesz do tego podejsc powanie radze poczytac o UML'u.


jak chcesz uzywac umla nie znając oop ?
shpyo
chodzi mi tylko o to jak dobrze zaplanować sobie serwis (nawet na kartce papieru). Nie są mi potrzebne jakieś (jak narazie) zbędne UML'e czy MVC. To mi nie jest razczej potrzebne.

Jak wspomniałem chodzi mi o zaprojektowanie małego serwisu z ogłoszeniami, to wszystko. Nie mam zamiaru pisać jakieś wypasionego CMS'a czy innych cudów nie widów.

To może sam napiszę co i jak sam wykombinowałem na podstawie obserwacji serwisów o różnych tematykach. Tak więc:

1. PLIKI
  • config.php - wiadamo co w nim będzie
  • funkcje.php - cały silnik strony (czyli funkcje odpowiedziałne za wyświetlanie/dodawanie ofert)
  • index.php - będzie zawierał takie rzeczy jak: ostatnie 5 dodanych ogłoszeń z 3 kategori, spis artykułów, jakieś wiadamości, banner ..
  • redirect.php - będzie przekierowywał i zliczał kliknięcia w banner reklamowy
  • details.php - odpowiada za wyświetlanie całej zawartości ogłoszenia
  • articles.php - j.w tylko artykuły
  • pliki z formularzami do dodawania różnych ofert/ogłoszeń
  • więcej do głowy mi nie przyszło snitch.gif
2. BAZA DANYCH
  • branże, będie zawierać rodzaje branż do których będą przypisane ogłoszenia/oferty
  • oferty, baza ze wszystkimi ofertami/ogłoszeniami
  • artykuły - tu komentarz zbędny (chyba tongue.gif)
  • reklama - do systemu bannerowego
  • więcej nie przyszło mi do głowy
Jako że jeszcze mam problemy z szablonami i klasami to wszystko jak do tej pory załatwiłem funkcjami. I to właśnie one za wszystko odpowiadają.

Co myślicie o takim czymś. czy jest porządek, czy to ma sens?
SongoQ
Cytat
jak chcesz uzywac umla nie znając oop ?


No oczywiscie chodzilo mi o to ze zna sie OOP. Sam uzywam w php OOP i nie wyobrazam sobie inacze. No chyba ze "Witaj swiecie" hehehe.

A wracajac do projektowania musisz pomyslec co bedzie jeszcze kiedys wprowadzone/zmienione i jak aplikacje zrobic elastyczna tak aby kazda poprawka nie wprowadzila calkowitej przebudowy, z doswiadczenia wiem ze konczy sie to bardzo spora liczba bledow.

Jak pliki zorganizujesz to czysto Twoja prywatna sprawa, jak dotad nie spotkalem sie ze standardem ktory by narzucal jak organizowac strukture katalogow, plikow. To co napisales jest jak najbardziej dobrym podejsciem.

Musisz tez pomyslec nad oddzieleniem kodu php od HTML.
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.