Ερώτηση αρχάριου για Zend framework.

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

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

Απάντηση
tango
Δημοσιεύσεις: 123
Εγγραφή: 20 Σεπ 2011 05:32

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από tango » 25 Μαρ 2012 14:38

Όχι korgr, τίποτε πέραν από διάφορους προσωπικούς πειραματισμούς - δεν έχω τον χρόνο και ίσως ούτε την εμπειρία να φτιάξω ακόμα κάτι προς γενική χρήση, αν και φυσικά θα μου άρεσε κάτι τέτοιο :)

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

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από jpk » 25 Μαρ 2012 14:54

Υπάρχουν δεκάδες (για να μην πω εκατοντάδες) διαφορετικές αρχιτεκτονικές υλοποιήσεις του MVC , σίγουρα δεν θα καταλάβαινα κάποιον που χαρακτηρίζει «λάθος» κάποια από αυτές αντιθέτως θα μπορούσα να κάνω διάλογο με μια άποψη «λάθος για εμένα, με βάση… ». Για αυτό κατ’ εμέ χρειάζεται μια σχετική αποστασιοποίηση από δίπολα skinny Controllers & fat Models vs το αντίστροφο (μακάρι να ήταν τόσο απλό).

Πολύ συνοπτικά, όπως το βλέπω εγώ, το Model είναι οι τάξεις για την παραγωγή αντικειμένων ή λίστας αντικειμένων με βάση κάποιες δοθείσες παραμέτρους και resources (όπως π.χ. αντικείμενο βάσης ή η πρόσβαση στο file system) (από τον Controller), επίσης το Model είναι για κάποιες εξειδικευμένες utilities της εφαρμογής (αν είναι γενικής χρήσεως θα έπρεπε να είναι σε add-on στο framework) και τέλος για κάποιες πολύ εξειδικευμένες περιπτώσεις validation. Με το τελευταίο εννοώ ότι αν το validation των μεταβλητών εισόδου του Model (που θα παραγάγουν το αντικείμενο ή την λίστα) δεν σχετίζεται με το επιχειρησιακό μοντέλο τότε δεν πρέπει να υπάρχει στο Model. Για παράδειγμα αν είναι μόνο επιβεβαίωση του first level validation αν κάτι είναι ακέραιος αριθμός δεν το θεωρώ επιχειρησιακή λογική, αν είναι συνδυασμός διαφορετικών πραγμάτων με ιδιότητες και μεθόδους που «λένε την δική τους ιστορία» τότε πρέπει να πάει στο Model.

Όσο αφορά την αρχική ερώτηση σου ερώτηση Apostolis_38 επέτρεψε μου ορισμένες επισημάνσεις (αν και δεν έχω πολύ μεγάλη εμπειρία σε ZEND), λες «Αν και τείνω να συμπεράνω ότι τα views υπάρχουν μόνο και μόνο για την εμφάνιση του αποτελέσματος του controller», θα συμφωνούσα απόλυτα μαζί σου όσο αφορά το τελικό αποτέλεσμα του Controller αλλά όσο παράγεις όμως τις μεταβλητές που θα χρησιμοποιηθούν από το τελικό View τα περισσότερα frameworks έχουν τάξεις για την παραγωγή HTML κώδικα πολύ συνηθισμένων τμημάτων, π.χ. forms. Και αυτό τμήμα του View είναι απλά το framework σου κάνει την ζωή εύκολη να μην πρέπει να γράψεις άλλο tpl (στην περίπτωση του ZEND) για αυτό, αν θέλεις χρησιμοποιείς αυτή την «ευκολία» αν δεν θες όχι.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από Apostolis_38 » 25 Μαρ 2012 15:34

Ναι, σε αυτή τη διαπίστωση κατέληξα κι εγώ.
Στην αρχή μου φάνηκε μεγάλο μπέρδεμα. Ακόμα και αυτές οι έτοιμες forms που δίνει η Zend με μπέρδεψαν αντί να με βοηθήσουν.
Βέβαια μετά από 2 μέρες πάνω από το pc τώρα αρχίζουν και ξεκαθαρίζουν αρκετά πράγματα και σίγουρα αν μάθεις να τις χειρίζεσαι αποτελούν κάποια σημαντική βοήθεια. Ειδικότερα από τη στιγμή που κατά πάσα πιθανότητα θα χρησιμοποιείς σχεδόν τις ίδιες και τις ίδιες με ελάχιστες παραλλαγές.

Η γνώμη μου όμως για όλα αυτά τα frameworks, template engines κ.λ.π. παραμένει.
Είναι χρήσιμα μόνο για projects που εμπλέκονται πολλοί developers μόνο και μόνο γιατί βοηθούν να μην χάσεις τη μπάλα σχετικά με το τι αναπτύσεται από ποιόν και πότε.
Αλλιώς είναι σαν να πηγαίνεις από την Ομόνοια στο Σύνταγμα μέσω Ελευσίνας.

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

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από jpk » 25 Μαρ 2012 15:51

«Αλλιώς είναι σαν να πηγαίνεις από την Ομόνοια στο Σύνταγμα μέσω Ελευσίνας» Έχω έναν πολύ κακό και έτοιμο να κάνει κακοπροαίρετη κριτική συνεργάτη … τον μελλοντικό εαυτό μου. Εσύ έχεις στο μυαλό σου ότι η Σταδίου είναι η σωστή διαδρομή από Ομόνοια για Σύνταγμα , αυτοί όμως που έφτιαξαν το πλαίσιο για να πηγαίνεις με έναν καθορισμένο τρόπο (το framework) έπρεπε να σκεφτούν γενικά και ίσως σε κάποια αποτελέσματα να σε στείλουν στην Ελευσίνα πρώτα. Αλλά όταν ό κακοπροαίρετος και ψηλομύτης μελλοντικός εαυτός σου πάει να αγγίξει κώδικά σου θα ξέρει ότι ακολουθούσες συγκεκριμένους κανόνες , και ξέροντας αυτούς και δεν θα είναι τόσο δεικτικός και θα ξέρει τι έκανες.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από Apostolis_38 » 25 Μαρ 2012 16:21

Δεν συμφωνώ όσον αφορά το κακοπροαίρετο του θέματος.
Αν ήμουν κακόπιστος και κακοπροαίρετος θα έβριζα αυτούς που τα φτιάξανε και θα δυσφημούσα το προϊόν τους σε κάθε ευκαιρία.
Δεν κάνω κάτι τέτοιο, απλώς λέω οτι είναι πλεονασμός και δύστροπο ένα τέτοιο πλαίσιο για κάποιον που δουλεύει μόνος του ή σε μικρή ομάδα.
Τεσπα, δεν έχει νόημα να διαφωνούμε σε θέματα που άπτονται των προτιμήσεων του καθενός
Περί ορέξεως έλεγαν οι αρχαίοι ημών ντιβέλοπερς :D


Με την ευκαιρία.
Υπάχει τρόπος να κάνουμε order by σε δεδομένα που διαβάζουμε από csv file με την fread;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από korgr » 25 Μαρ 2012 16:35

Προσωπικα ειμαι παντα υπερ του K.I.S.S ειδικα μετα την εμπειρια κατασκευης του δικου μου framework και ακολουθως του CMS.
Η στρατηγικη που ακολουθεις στην υλοποιηση ενος project εχει αμεση σχεση με την δομη του και τις ιδιαιτεροτητες του. Αν ειχα ακολουθησει την πεπατημενη θα ειχα καταληξει σε αλλο ενα loomla, wp κλπ.
Οχι λοιπον σε στερεοτυπα οπως αυστηρη τηρηση συγκεκριμενου MVC, Design patterns και λοιπα ευαγγελια που συνηθως ακολουθουνται απο διαφορους λατρεις της απολυτης θεωριας (αληθεια τι εγινε εκεινος ο pimpogio?)

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από gvre » 25 Μαρ 2012 18:37

Apostolis_38 έγραψε: Με την ευκαιρία.
Υπάχει τρόπος να κάνουμε order by σε δεδομένα που διαβάζουμε από csv file με την fread;
Ναι. Για πόσα δεδομένα μιλάμε; Μπορείς να δώσεις ένα παράδειγμα από αυτά και πώς θέλεις να τα ταξινομήσεις;

@korgr Το MVC, τα design patterns, η θεωρία κλπ υπάρχουν για να λύσουν κάποια προβλήματα. Κάποιοι τα χρησιμοποιούν, κάποιοι άλλοι όχι. Προσωπικά, θεωρώ ότι τα design patterns είναι σημαντικά και πρέπει να χρησιμοποιούνται σε μεγάλα projects, τα οποία πρέπει να συντηρούνται και να επεκτείνονται εύκολα από οποιονδήποτε. Το ότι θα χρησιμοποιήσει κάποιος κάποια patterns δε σημαίνει ότι θα καταλήξει να φτιάχνει άλλο ένα joomla.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από korgr » 25 Μαρ 2012 19:44

Υπάρχουν αυτοί που χαράζουν δρόμους και αυτοί που δεν έχουν άλλη επιλογή από το να ακολουθούν τους χαραγμένους...

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από gvre » 25 Μαρ 2012 20:20

Να υποθέσω δηλαδή ότι χρησιμοποιείς το δικό σου λειτουργικό, γλώσσα προγραμματισμού, βάση δεδομένων, filesystem, browser κλπ, έτσι; :)

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από Apostolis_38 » 25 Μαρ 2012 21:14

gvre έγραψε:
Apostolis_38 έγραψε: Με την ευκαιρία.
Υπάχει τρόπος να κάνουμε order by σε δεδομένα που διαβάζουμε από csv file με την fread;
Ναι. Για πόσα δεδομένα μιλάμε; Μπορείς να δώσεις ένα παράδειγμα από αυτά και πώς θέλεις να τα ταξινομήσεις;
Δεν πειράζει μαν.
Το παραλείπω αυτό :D

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από korgr » 25 Μαρ 2012 22:30

gvre έγραψε:Να υποθέσω δηλαδή ότι χρησιμοποιείς το δικό σου λειτουργικό, γλώσσα προγραμματισμού, βάση δεδομένων, filesystem, browser κλπ, έτσι; :)
Μιλάμε για την λογική χρήσης των εργαλείων αυτών :)
Για παράδειγμα, επειδή υπάρχει το i18n δεν σημαίνει πως δεν υπάρχει άλλος τρόπος να διαχειριστείς την πολυγλωσσικότητα.
Όταν είχα φτάσει στο 80% της υλοποίησης του δικού μου framework (το οποίο δεν υπονοώ πως είναι καλύτερο από οτιδήποτε άλλο, απλά μου κάνει την δική μου δουλειά καλύτερα από οτιδήποτε άλλο δοκίμασα), συνειδητοποίησα πως το "μοντέλο" στο οποίο είχα στηρίξει όλη την αρχιτεκτονική μου, ήταν αρκετά παραπλήσιο με το EAV. Φυσικά όταν το εφάρμοσα δεν ήξερα καν τι είναι αυτό! :D
Δεν προσπαθώ να ισοπεδώσω τα πάντα, προς θεού (του όποιου)!
Απλά έχω εμπιστοσύνη στην λογική μου και αυτή με οδήγησε να κάνω ό,τι έχω κάνει σ' αυτό τον χώρο χωρίς να σταθεί εμπόδιο η έλλειψη πανεπιστημίων κλπ. Μακάρι να μπορούσα και να είχα πάει και εγώ (θα γλίτωνα κάποιο χρόνο σίγουρα), αλλά από την άλλη είμαι από τους λίγους τυχερούς που διαπίστωσαν πως η πληροφορική αναλύεται σε πολύ απλά κομμάτια απλής λογικής που δεν χρειάζεται να σου τα διδάξουν.

gvre
Δημοσιεύσεις: 990
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από gvre » 25 Μαρ 2012 23:13

Το βασικότερο είναι να μπορείς να διακρίνεις τι είναι καλό και τι όχι. Τα design patterns είναι λύσεις σε προβλήματα τα οποία παρουσιάζονται συχνά. Μπορεί αύριο να έχεις ένα πρόβλημα το οποίο θα σε οδηγήσει στη δημιουργία ενός νέου pattern. Αυτό είναι εξέλιξη και χωρίς αυτή δε θα είχαμε σήμερα τίποτα από αυτά που έχουμε.
Γενικά, δεν είμαι οπαδός της έτοιμης λύσης. Κάποιες φορές όμως είναι η σωστή λύση.

Άβαταρ μέλους
nirvana
Δημοσιεύσεις: 241
Εγγραφή: 01 Σεπ 2005 18:28
Τοποθεσία: Αγ. Παρασκευή

Ερώτηση αρχάριου για Zend framework.

Δημοσίευση από nirvana » 12 Απρ 2012 13:14

Πάνω σε ένα από αυτά που συζητήθηκαν προηγουμένα περί fat και skinny controllers, ετυχε σήμερα να πετύχω στο manual του zend μια αναφορά (και γενικά για το mvc) στο framework.zend.com/manual/en/learning.quickstart.intro.html
Model - This is the part of your application that defines its basic functionality behind a set of abstractions. Data access routines and some business logic can be defined in the model.

View - Views define exactly what is presented to the user. Usually controllers pass data to each view to render in some format. Views will often collect data from the user, as well. This is where you're likely to find HTML markup in your MVC applications.

Controller - Controllers bind the whole pattern together. They manipulate models, decide which view to display based on the user's request and other factors, pass along the data that each view will need, or hand off control to another controller entirely. Most MVC experts recommend » keeping controllers as skinny as possible.

Απάντηση

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

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

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