Προς το περιεχόμενο

Παρακαμψη του model απο mvc


gotham7878

Προτεινόμενες αναρτήσεις

Καλησπερα. Σε ενα controller, αντι να στελνω κατι στο model, να επιστρεφει στο controller και να στελνω στο view, για θεμα ευκολιας τα κανω ολα στο controller. Ολα δουλευουν μια χαρα. Φυσικα ξερω οτι δεν ειναι αυτος ο σωστος τροπος για το mvc, απλα θελω να ρωτησω, με αυτο τον τροπο πιο ειναι το μειον στην ολη υποθεση. Στην ουσια δημιουργει καποιο προβλημα/ευπαθεια/ασταθεια που δεν βλεπω ακομα?

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Εγώ θα ρωτήσω κάτι άλλο, για ποιον λόγο τα στέλνεις στο view και δεν τα επιστρέφει με την μία ο controller;

Πιστεύεις ότι δημιουργεί κάποιο πρόβλημα/ευπάθεια/αστάθεια ;;;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

28 λεπτά πριν, Uberalles_gr είπε

Εγώ θα ρωτήσω κάτι άλλο, για ποιον λόγο τα στέλνεις στο view και δεν τα επιστρέφει με την μία ο controller;

Πιστεύεις ότι δημιουργεί κάποιο πρόβλημα/ευπάθεια/αστάθεια ;;;

Δεν καταλαβαινω τι εννοεις

Πχ εγω λεω οτι αντι να το εχω ετσι (δεν γραφω ακριβως κωδικα)

function get_names(){

$data[‘users’] = καλω το model users_model

Και μετα

$this->load->view(‘users’, $data)

}

Και να φτιαχνω το model για το fetch απο την βαση,

 

το κανω ετσι 

function get_names(){

Κανω το fetch απο την βαση, αποθηκευω το array στο $data[‘users’] και το στελνω στο view με 

$this->load->view(‘users’, $data)

}

δηλαδη δεν φτιαχνω model.

Εσυ τι ακριβως εννοεις?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ουσιαστικά ο Uberalles_gr σε ρωτάει για ποιον λόγο χρησιμοποιείς το view και δεν τα κάνεις μέσω του controller όπως δεν χρησιμοποιείς και το model.

Ο controller μπορεί να κάνει και την δουλειά του view όπως και την δουλειά του model.

Αλλά τότε γιατί χρησιμοποιείς MVC;

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ένα επίπεδο ασφαλείας ακόμη, καθώς και ποιο εύκολες αλλαγές στον κώδικα, όταν πχ θες να αλλάξεις την διαδικασία εισαγωγής χρήστη αλλάζεις μόνο αυτή και όχι και το τι γίνεται στην βάση δεδομένων, οδηγεί σε λιγότερο κώδικα καθώς και αποδεδειγμένα αποφεύγεις να γράφεις τον ίδιο κώδικα πολλές φορές*, επίσης κάνει και ποιο εύκολη την επαναχρησιμοποίηση κώδικα, σε κάποια framework πχ django, γενικά είναι δοκιμασμένο και δημοφιλή σαν μοντέλο ανάπτυξης και πληρεί τις βασικές αρχές ανάπτυξης λογισμικού, αλλά δεν χάθηκε και ο κόσμος να δοκιμάσεις τα δικά σου "κόλπα".

*πχ στο παράδειγμα που γράφεις πες ότι θέλεις να πάρεις άλλο πεδίο των εγγραφών σου πάλι θα ξαναγράφεις κώδικα για να καλέσεις την βάση ή αλλάζεις-μετονομάζεις-διαγράφεις-κτλ κτλ την function get_names την κάνεις get-surnames,  επαναλαμβάνεις τον κώδικα που καλεί την βάση.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Το post μου είχε ξεκάθαρο και μόνο σκοπό στο να βάλει σε σκέψεις/προβληματισμούς τον topic starter

@gotham7878 Η ουσία του μοντέλου είναι αυτό που προσπαθεί να πει ο @newfoot

Θα δώσω ένα απλό παράδειγμα. Έχεις σε ένα μοντέλο σου, μία μέθοδο που φέρνει τα δεδομένα από έναν χρήστη στην βάση σου. Σκέψου ότι αυτή την μέθοδο την έχεις γράψει σε ένα σημείο αλλά την χρησιμοποιούμε στο frontend, στο backend, σε ένα API που υπάρχει και σε άλλα πιθανά σημεία. Επομένως μια πιθανή αλλαγή αύριο μεθαύριο, π.χ. προστέθηκε ένα νέο πεδίο θα χρειαστείς να την κάνεις μόνο σε μία μέθοδο ενός συγκεκριμένου μοντέλου.

Τώρα χαλάρωσα...

Επεξ/σία από Uberalles_gr
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ναι ρε παιδιά. Κόλλησε το μυαλό μου. Τώρα κατάλαβα πόσο λάθος το έβλεπα.

Αν κατάλαβα καλά, ας πούμε οτι θέλω να τραβάω users από την βάση, φτιάχνω ένα model get_users_model (μπλα μπλα μπλα) και μετά μπορώ να το τραβήξω από το controller get_users, από το controller users_list κλπ και γενικά σε όσα controller θέλω να έχω αυτή την πληροφορία. Σωστά???

Γιατί εγώ ξέρετε τι έκανα?

Εφτιαχνα πχ το get_users_model για να το χρησιμοποιώ με το controller get_users,

μετά έφτιαχνα το users_list_model για να το χρησιμοποιώ με το controller users_list,

που στην ουσία τα model get_users_model και users_list_model ήταν τα ίδια.

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...