Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Framework - logika działania, Problem z rozbudową...
Mappet
post 22.02.2006, 14:56:38
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.06.2004

Ostrzeżenie: (0%)
-----


Witam!

Ostatnio postanowiłem poprzyglądać się frameworkom i stworzyć coś własnego. Wybrałem model MVC.
Problem mam teraz z logiką budowy MVC.
Chciałem dodać autoryzację użytkownika, a co za tym idzie musze napisać obsługę sesji. I pojawia się pytanie... jak wdrożyć taką aplikację do modelu?

Na stronie php.pl jest obszerny artykuł o frameworku. I tam jest przedstawiony schemat z multikontrolerem gdzie różne akcje są w jednym pliku. Ja aktualnie wybrałem ten drugi sposób czyli mam w katalogu pojedyńcze pliki z akcjami i każdy plik obsługuje jedna wybraną akcję.

Zatem obsługa sesji wg. mnie powinna wylądować w katalogu z bibliotekami ?
A następnie wykorzystywać ten plik w pliku z akcjami ?
Kolejne pytanie to walidacja formularza, gdzie taki proces przeprowadzić.

Byłbym wdzięczny za jakieś wstępne informacje...

Pozdrawiam

Ten post edytował Mappet 22.02.2006, 16:22:27


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
sf
post 22.02.2006, 20:44:15
Post #2





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


walidacje sobie mozesz robic w filtrach, albo w akcji, jak Ci tam wygodniej

autoryzacje mam w filtrze przed akcja bo mi tak pasuje najlepiej


--------------------
Zapraszam na mój php blog, tworzenie stron.
Go to the top of the page
+Quote Post
Mappet
post 22.02.2006, 23:18:10
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.06.2004

Ostrzeżenie: (0%)
-----


  1. <?php
  2. abstract class AbstractMultiActionController {
  3. protected $_modelclassname;
  4. protected $_daoclass;
  5. protected $_dbconn;
  6. protected $_tpl_prefix;
  7. public function __construct(){
  8. $this->_dbconn = DBManager::getConnection();
  9. }
  10. public function list_action(){
  11. $result_arr['items_list'] = $this->_daoclass->findAllItems();
  12. $mv = new ModelAndView();
  13. $mv->setModel($result_arr);
  14. $mv->setView($this->_tpl_prefix.'_list.tpl.html');
  15. return $mv;
  16. }
  17. public function addform_action(){
  18. $mv = new ModelAndView();
  19. $mv->setModel($_POST);
  20. $mv->setView($this->_tpl_prefix.'_addform.tpl.html');
  21. return $mv;
  22. }
  23. public function add_action(){
  24. $biz_obj = new $this->_modelclassname($_POST[$this->_modelclassname]);
  25. $this->_newsmodeldao->create($biz_obj);
  26. return $this->list_action();
  27. }
  28. ....
  29. }
  30. class newsMultiActionController extends AbstractMultiActionController{
  31. private $_newsmodeldao;
  32. public function __construct(){
  33. parent::__construct();
  34. $this->_modelclassname = 'NewsModel';
  35. $this->_daoclass = new NewsModelDao($this->_dbconn);
  36. $this->_tpl_prefix = 'news';
  37. }
  38. }
  39. ?>

To jest fragment frameworka z php.pl
Co to jest $_newsmodeldao ? Staram się dojść skąd jest ten identyfikator modeluDao ale nie widzę...


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
bela
post 22.02.2006, 23:49:35
Post #4


Administrator PHPedia.pl


Grupa: Developerzy
Postów: 1 102
Pomógł: 2
Dołączył: 14.09.2003

Ostrzeżenie: (0%)
-----


1. Następnym razem podaj link
2. Spójrz kilka listeningów wyżej


--------------------
Go to the top of the page
+Quote Post
Mappet
post 23.02.2006, 00:05:27
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.06.2004

Ostrzeżenie: (0%)
-----


1. worzenie_aplikacji_www/nudne_zadania_jeszcze_latwiejsze' target='_blank

2. tak jak zaleciłeś -> przeszukałem wczesniejsze listeningi i tam można znaleźć taki zapis
  1. <?php
  2. ...
  3. class newsMultiActionController
  4. {
  5. private $_newsmodeldao;
  6. public function __construct(){
  7. $dbconn = DBManager::getConnection();
  8. $this->_newsmodeldao = new NewsModelDao($dbconn);
  9. }
  10. ...
  11. }
  12. ?>

lecz w ostatecznym kodzie klasy widać że wywołanie modeluDao zostało zainicjowane pod inną zmienną ($this->_daoclass) chyba że jeszcze w abstrakcyjnej klasie dodać w konstruktorze ten fragment co wyżej?


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 03:15