Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Budowa/układ strony
Forum PHP.pl > Forum > Przedszkole
Xadrian
Siedzę nad modelem swojej gry przeglądarkowej już jakiś czas, myśląc jak wszystko rozplanować, żeby w przyszłości nie żałować.

Obecnie aplikacji wygląda mniej więcej tak:
1. index.php tworzy obiekt Controller, który trzyma w sobie $_GET['subtopic'] i $_GET['action'],
2. index.php includuje view/view.php
3. view.php ładuje Smarty, pobiera subtopic i action z controllera, sprawdza ich poprawność oraz czy powiązane z nimi pliki istnieją, tworzy połączenie z bazą danych, rozpoczyna sesję, includuje odpowiedni subtopic (index/account/game.php)
4. zaincludowany plik z subtopicem ma switch'a, który includuje odpowiedni plik akcji (login/logout/newaccount.php), jeżeli jest potrzeba to tworzy nowy obiekt (player/account)
5. ostatecznie zwracany jest output w formie zmiennej $content, która jest przesyłana do smarty i wyświetlana.

Struktura folderów i plików:
  1. G:\WAMP\WWW\THEGAME2
  2. | index.php
  3. |
  4. +---controller
  5. | Controller.php
  6. |
  7. +---model
  8. | account.php
  9. | mysql.php
  10. | player.php
  11. |
  12. \---view
  13. | view.php
  14. |
  15. +---Smarty
  16. | | debug.tpl
  17. | | Smarty.class.php
  18. | +---plugins
  19. | | ...............
  20. | |
  21. | +---sysplugins
  22. | | ..............
  23. | \---templates
  24. | | layout.tpt
  25. | |
  26. | +---cache
  27. | +---configs
  28. | +---images
  29. | \---templates_c
  30. \---subtopics
  31. | account.php
  32. | game.php
  33. | index.php
  34. | noExists.php
  35. |
  36. \---actions
  37. login.php
  38. logout.php
  39. newAccount.php


I teraz moje pytanie - jak lepiej powinno być to zorganizowane? Pytanie dość ogólne, ale mam nadzieję, że ktoś poświęci chwilę czasu aby się rozpisać.
lobopol
Poczytaj o mvc
Xadrian
Czytać czytałem, co po nazwie folderów głównych widać, tylko przy praktyce mam wątpliwości
lobopol
ostatnio testuje taki układ:
public_html:
-index.php
-files:
-css:
-js

config:
-config.php
-route.php

library:
init.php
-class:
--klasa.php
-functions:
--funkcja.php

app:
-default:
--controllers
--models
--views
-modul1:
--controllers
--models
--views

cron:
-skrypt_crona1.php

ajax:
-skrypt_ajaksa.php

logs:
-logi_typ_a:
--log.log

temp:

Oczywiście routing odpowiada za uruchomienie odpowiedniego modułu.

Nie radzę używać smarty jest powolne i przestarzałe, jeżeli zależy ci na wydajności same widoki wystarczą
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.