Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 30.10.2007 Ostrzeżenie: (0%)
|
Niech istnieje pewna aplikacja w php implementująca MVC. Niech dane przechodzą drogę: <form> zostaję wysłany przez użytkownika, pewne reguły walidacji zawarte gdzieś w aplikacji, ostatecznie trafiają pod jakąś postacią do bazy danych.
I tu pojawia się problem. Reguły dotyczące logiki i poprawności tych danych niestety znajdują się w kilku miejscach. Po pierwsze w samej bazie utworzone kolumny mają jakieś typy, po drugie (np. w kontrolerze akcji) istnieją bardziej szczegółowe zasady walidacja (np. min n znaków, tylko alfanumeryczne etc) o jakiś ustawieniach no i w widoku trzeba pamiętać aby poprawnie skonstruować cały <form>. Strasznie to męczące i trzeba pamiętać o każdym z tych elementów. Czy znacie jakieś gotowe rozwiązanie które pozwoliło by to wszystko spójnie połączyć? Nawet kosztem tworzenia kolejnej warstwy w aplkiacji. Coś co zapewniłoby ujednolicenie tego wszystkiego. Jak należałoby do tego podejść. Na razie przychodzą mi do głowy dwie rzeczy: 1) Albo próbować tworzyć jakiś ORM w PHP, który pozwoliłby na złożenie wszystkich reguł poprawności danych w jednym miejscu (XML?) 2) Przenieść maksymalną ilość zadań na samą bazę danych, poprzez np. procedury wbudowane i triggery. Co lepsze? A może wogóle jakieś inne podejście? Proszę o opinię. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 13.09.2006 Skąd: Poland Ostrzeżenie: (0%)
|
w smarty implementujesz sobie taki prosty kodzik
{if $error} <div class="error">{$error}</div> {/if} i w metodzie danej tam klasy sprawdzajacej formularz sprawdzasz pola, jeśli coś jest nie tak przypisujesz to do zmiennej $error. Pod koniec funkcji sprawdzasz, if($error) $smarty->assign('error', $error); i przypisujesz ten błąd ze zmiennej i wyświetlasz, jeśli wszystko pojdzie ok to inny warunek i inny display. Jeśli masz dostęp do skryptu AbleSpace, to przejrzyj tam kod, jest świetnie napisany i super wykorzystuje model MVC, w tym wielokrotne wykorzystanie tego samego pliku szablonu ale segmentarycznie (layers). pozdro Ten post edytował templar 11.12.2007, 10:00:57 |
|
|
|
dynast Zarządzanie przepływem danych z formularzy 30.10.2007, 19:07:47
become no wlasnie tez sie zastanawiam jak powinna wyglada... 9.12.2007, 08:55:19
faster Moim zdaniem to nie jest wada, że sprawdzanie popr... 30.12.2007, 00:19:15 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 01:03 |