![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
Cały czak kontynuuję naukę Zenda i natknąłem się na fajny blog: http://www.karolnowicki.pl/zend-framework/artykuly/ i wykonuje w nim krok po kroku wszystko z serii "Praca z bazą danych". W części pierwszej pominąłem dopisek do pliku Boostrap, ale dopisuje wszędzie przedrostek Application. Ale do rzeczy. Model:
Kontrolery (ustawiłem sobie w nim echo, aby wiedzieć gdzie się wysypuje):
Formularz:
I teraz gdy wypełnię formularz to zatrzymuje mi się na wykonaniu metody nowyUzytkownik. Wyświetla się tylko wszystko do echo "odebrałem values"; echo $email; a potem jest pusta, biała strona. Gdy błędnie wypełnię formularz, to pokazują się komunikaty o błędach i wraca do strony z formularzem. W bazie nie ma żadnych nowych rekordów. To samo się dzieje (białą, pusta strona), gdy chcę wyświetlić listę użytkowników (adres/uzytkownicy/lista-uzytkownikow). Plik applacation.ini: Kod [production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" resources.db.adapter = "pdo_mysql" resources.db.params.host = "localhost" resources.db.params.username = "user" resources.db.params.password = "haslo" resources.db.params.dbname = "naukazend2" resources.db.params.charset = "utf8" resources.db.isDefaultTableAdapter = true [staging : production] [testing : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 resources.frontController.params.displayExceptions = 1 Gdzie jest błąd? (IMG:style_emoticons/default/sad.gif) ROZWIĄZAŁEM: Model ma być dziedziczony z Zend_Db_Table (IMG:style_emoticons/default/smile.gif) Ten post edytował IceManSpy 5.04.2011, 22:39:48 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
No a poza tym, jeżeli tak wyciągniesz te dane, np do kontrolera - to chyba nie manipulujesz w nim tymi danymi - Powstaje potężny zgrzyt - kontroler nie służy do manipulowania danymi - funkcje pisze się w modelach. MVC W modelach operujesz na danych z bazy, zapisywaniu ew. szybkim przetwarzaniu - resztę robisz w kontrolerach, ja używam do tego jeszcze pisanych przeze mnie bibliotek ale całość i tak trzeba wypluć do widoku z kontrolera wiec... nie rozumiem jak przetwarzasz to wszystko w modelu. Ogólnie tworzę sobie w library obok Zend katalog powiedzmy Project i w nim daje funkcje związane powiedzmy z XML czy przetwarzanie danych czy jakieś stałe walidacje formularzy, które często wykorzystuje. Nie wyobrażam sobie tego mieszać z zapytaniami do bazy - model jest tylko do użytku od strony biznesowej kodu, a nie do umieszczania w nim jakiś modułów. Bardzo często robię rozbudowane zapytania w pracy i nie wiem jak można do klas modeli wstawiać jakieś inne metody wykorzystywane w kontrolerze ? Przecież w modelu dziedziczysz sporo danych z innych klas i co - jeśli chce sobie napisać funkcję powiedzmy, no nie wiem... between:
I co - walne to do modelu ? Chyba inaczej rozumiemy MVC (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 06:45 |