Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zarządzanie przepływem danych z formularzy
dynast
post
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ę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
templar
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 27.12.2025 - 01:03