καμμια ιδεα για δυναμικες forms ?

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
pimpogio
Δημοσιεύσεις: 1080
Εγγραφή: 28 Δεκ 2010 14:08

καμμια ιδεα για δυναμικες forms ?

Δημοσίευση από pimpogio » 27 Μαρ 2011 13:08

ας πουμε οτι εχω ενα στησιμο mvc ...
router που αναλογα με το request φορτωνει τον καταλληλο controller
και αυτος με την σειρα καλει του το model περνει τα data που του δινει το model
τα περναει στο view και βλεπει ο επισκεπτης το view.

εαν τα data που επιστρεφει το model ειναι ας πουμε για απλουστευση μονο html
pages που ειναι αποθηκευμενες στην database.. και μια τετοια html page
εχει μεσα μια φορμα με καποια πεδια οπως μια τυπικη contact form.

πως μπορω αναλογα τα πεδια της form ο controller απο πισω να κανει handle
τα posts της form αυτης δυναμικα.
Δηλαδη μονο με html na φτιαχνεις φορμες μεσα σε σελιδες(που αποθηκευονται) και αυτοματα ο controller να κανει handle με τον σωστο τροπο ολα τα πεδια της φορμας.
Ο τροπος που θα δινεις οδηγιες στον controller για το πως θα κανει handle τα πεδια της φορμας εχω σκευτει να ειναι μεσα σε html comments ωστε η σελιδα που εχει την form να γινετε σωστα render ston wysiwg editor (tinymce).
πχ <!--formHandleStart mail:required:email, message:required:plain_text ..... formHandleEnd-->
Δηλαδη να εχω μια δικια μου ψευτοscriptoγλωσσα


Τι λετε ? υπαρχει καμμια ποιο σωστη τεχνικη ?

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

καμμια ιδεα για δυναμικες forms ?

Δημοσίευση από jpk » 27 Μαρ 2011 13:54

Το «σωστό» είναι πολύ σχετικό καθώς υπάρχουν άπειρα MVC αρχιτεκτονικά patterns αλλά και τεχνικές για να γίνει αυτό που λες. Αν αυτό που χρησιμοποιείς δεν έχει σημαντικά λάθη ή προβλήματα απόδοσης τότε έχει να κάνει καθαρά με τον τρόπο που προγραμματίζεις και με τις εμπειρίες σου σαν προγραμματιστής.

Έχεις έναν front controller &#8211; dispatcher &#8211; rooter αυτός με βάση κάποια κριτήρια αποφασίζει ποιόν Controller θα σηκώσει και αυτός με την σειρά του ποια στοιχεία του model θα συνδυάσει και με ποιες παραμέτρους για να εξάγει ένα αποτέλεσμα στο view. Άρα ήδη ξέρεις το post της φόρμας σε ποιον controller θα πάει και μπορείς να ορίσεις κάποιο action στο submit αν έχεις πολλές λειτουργίες στην σελίδα σου και θέλεις να πραγματοποιηθεί μόνο η μία. Αν η φόρμα έχει προκύψει δυναμικά και δεν ξέρεις εκ’ των προτέρων τα πεδία της τότε χρειάζεσαι μια λογική διαχείρισής τους (τι ακριβώς θέλεις να κάνεις με αυτά). Αν υποθέσουμε ότι ορίζεις το που είναι η φόρμα στην σελίδα μέσα σε από ένα WYSIWYG και αυτό βοηθάει στην μορφοποίηση της θα μπορούσες να έχεις και έναν πίνακα form fields με ID , FORM_ID, FIELD_NAME , JS_VALIDATION , ATTRIBUTES , APPEARANCE_PRIORITY και έναν πίνακα forms με ID,ACTION . Να φτιάχνεις πρώτα την φόρμα σου σε μία άλλη ενότητα της εφαρμογής διαχείρισης και μετά να την βάζεις στην σελίδα με ένα drop down στο WYSIWYG. Περεταίρω θα μπορούσες στο ACTION που αναφέρω στον πίνακα forms να μην είναι το όνομα του action που θα χρησιμοποιήσει ο Controller αλλά ο ίδιος ο κώδικας PHP (τώρα πόσο συντηρήσιμο είναι όλο αυτό είναι άλλο ζήτημα)

Φόρμες (ή actions) που χρησιμοποιούνται σε πάνω από μία σελίδα θα μπορούσαν να τα χειρίζονται η abstract τάξη του project από την οποία κληρονομούν οι controllers σου (όχι ο front controller). Όπως είπα στην αρχή υπάρχουν πολλά αρχιτεκτονικά patterns αλλά και πολλές ιδέες για το πώς να κάνεις αυτό που λες&#8230; απλά αυτή είναι μία από αυτές.

Άβαταρ μέλους
mrpc
WebDev Moderator
Δημοσιεύσεις: 3393
Εγγραφή: 03 Μάιος 2000 03:00
Τοποθεσία: Εξάρχεια
Επικοινωνία:

καμμια ιδεα για δυναμικες forms ?

Δημοσίευση από mrpc » 27 Μαρ 2011 20:35

Ένα helper class που κάνει parse το κείμενο που του δίνεις και αντικαθιστά τα σχόλια με τα αντίστοιχα form fields;
Έτσι, πριν στείλεις τα δεδομένα από το action στο view, κάνεις parse μέσω του helper class.

Πάντως, όπως είπες ο jpk, δεν υπάρχει "σωστό". Και γενικά στον προγραμματισμό δεν υπάρχει ποτέ απόλυτο σωστό και απόλυτο λάθος (εκτός αν κάνεις κάτι υπερβολικό :p)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες