Κορυφαίες 55 ερωτήσεις και απαντήσεις συνέντευξης MVC (PDF)
MVC Συνέντευξη Ερωτήσεις και Απαντήσεις για Freshers
1) Τι είναι το Model-View-Controller;
Το MVC είναι ένα πρότυπο αρχιτεκτονικής λογισμικού για την ανάπτυξη εφαρμογών Ιστού. Ο χειρισμός του γίνεται από τρία αντικείμενα, Model, View και Controller.
👉 Δωρεάν λήψη PDF: Ερωτήσεις & Απαντήσεις Συνέντευξης MVC
2) Τι αντιπροσωπεύει το Model-View-Controller σε μια εφαρμογή MVC;
Σε ένα μοντέλο MVC,
- Μοντέλο– Αντιπροσωπεύει τον τομέα δεδομένων της εφαρμογής. Με άλλα λόγια, η επιχειρηματική λογική μιας εφαρμογής περιέχεται στο μοντέλο και είναι υπεύθυνη για τη διατήρηση των δεδομένων.
- Προβολή– Αντιπροσωπεύει τη διεπαφή χρήστη με την οποία επικοινωνούν οι τελικοί χρήστες. Εν ολίγοις, όλη η λογική της διεπαφής χρήστη περιέχεται στο View.
- Ελεγκτής- Είναι ο ελεγκτής που απαντά στις ενέργειες του χρήστη. Με βάση τις ενέργειες του χρήστη, ο αντίστοιχος ελεγκτής αποκρίνεται εντός του μοντέλου και επιλέγει μια προβολή για απόδοση που εμφανίζει τη διεπαφή χρήστη. Η λογική εισαγωγής χρήστη περιέχεται στον ελεγκτή.
3) Ονομάστε το συγκρότημα για να ορίσετε το MVC
The Πλαίσιο MVC ορίζεται στη διάταξη System.Web.Mvc.
4) Ποιοι είναι οι διαφορετικοί τύποι επιστροφής μιας μεθόδου ενέργειας ελεγκτή
Ακολουθούν διαφορετικοί τύποι επιστροφής μιας μεθόδου ενέργειας ελεγκτή:
- Δείτε το αποτέλεσμα
- JavaΑποτέλεσμα σεναρίου
- Αποτέλεσμα ανακατεύθυνσης
- Αποτέλεσμα JSON
- Αποτέλεσμα περιεχομένου
5) Ποια είναι η διαφορά μεταξύ της προσθήκης διαδρομών σε μια εφαρμογή webform και μιας εφαρμογής MVC;
Για να προσθέσουμε διαδρομές σε μια εφαρμογή webform, χρησιμοποιούμε τη μέθοδο MapPageRoute() της κλάσης RouteCollection, ενώ για την προσθήκη διαδρομών σε μια εφαρμογή MVC χρησιμοποιούμε τη μέθοδο MapRoute().
6) Ποιοι είναι οι δύο τρόποι προσθήκης περιορισμών σε μια διαδρομή;
Οι δύο μέθοδοι για να προσθέσετε περιορισμούς σε μια διαδρομή είναι
- Χρησιμοποιήστε κανονικές εκφράσεις
- Χρησιμοποιήστε ένα αντικείμενο που υλοποιεί τη διεπαφή IRouteConstraint
7) Ποια είναι τα πλεονεκτήματα του MVC;
- Το MVC διαχωρίζει το έργο σας σε ένα διαφορετικό τμήμα και γίνεται εύκολο για τους προγραμματιστές να το δουλέψουν
- Είναι εύκολο να επεξεργαστείτε ή να αλλάξετε κάποιο μέρος του έργου σας που ωφελεί το μικρότερο κόστος ανάπτυξης και συντήρησης του έργου
- Το MVC κάνει το έργο σας πιο συστηματικό
- Αντιπροσωπεύει έναν σαφή διαχωρισμό μεταξύ επιχειρηματικής λογικής και λογικής παρουσίασης
- Κάθε αντικείμενο MVC έχει διαφορετικές ευθύνες
- Η ανάπτυξη προχωρά παράλληλα
- Εύκολο στη διαχείριση και συντήρηση
- Όλες οι κλάσεις και τα αντικείμενα είναι ανεξάρτητα μεταξύ τους
8) Τι κάνουν οι λειτουργίες "beforeFilter()", "beforeRender" και "afterFilter" στον Ελεγκτή;
- beforeFilter(): Αυτή η λειτουργία εκτελείται πριν από κάθε ενέργεια στον ελεγκτή. Είναι το σωστό μέρος για να ελέγξετε για μια ενεργή περίοδο λειτουργίας ή να ελέγξετε τα δικαιώματα χρήστη.
- beforeRender(): Αυτή η συνάρτηση καλείται μετά τη λογική δράσης του ελεγκτή, αλλά πριν από την απόδοση της προβολής. Αυτή η συνάρτηση δεν χρησιμοποιείται συχνά, αλλά μπορεί να απαιτείται εάν καλείτε την render() με μη αυτόματο τρόπο πριν από το τέλος μιας δεδομένης ενέργειας.
- afterFilter(): Αυτή η συνάρτηση καλείται μετά από κάθε ενέργεια του ελεγκτή και αφού ολοκληρωθεί η απόδοση. Είναι η τελευταία μέθοδος ελεγκτή που εκτελείται.
9) Ποιος είναι ο ρόλος των στοιχείων Παρουσίαση, Αφαίρεση και Έλεγχος στο MVC;
Εδώ είναι ο ρόλος των στοιχείων Παρουσίαση, Αφαίρεση και Έλεγχος στο MVC:
- Παρουσίαση: Είναι η οπτική αναπαράσταση μιας συγκεκριμένης αφαίρεσης εντός της εφαρμογής
- Αφαίρεση: Είναι η λειτουργικότητα του επιχειρηματικού τομέα εντός της εφαρμογής
- Έλεγχος: Είναι ένα στοιχείο που διατηρεί τη συνέπεια μεταξύ της αφαίρεσης εντός του συστήματος και της παρουσίασής τους στον χρήστη, επιπλέον της επικοινωνίας με άλλα στοιχεία ελέγχου εντός του συστήματος
10) Ποια είναι τα μειονεκτήματα του μοντέλου MVC;
Ακολουθούν ορισμένα σημαντικά μειονεκτήματα του μοντέλου MVC:
- Το μοτίβο του μοντέλου είναι λίγο περίπλοκο.
- Αναποτελεσματικότητα της πρόσβασης σε δεδομένα.
- Με ένα σύγχρονο περιβάλλον χρήστη, είναι δύσκολο να χρησιμοποιήσετε το MVC.
- Χρειάζεστε πολλούς προγραμματιστές για παράλληλη ανάπτυξη.
- Απαιτούνται πολλές γνώσεις τεχνολογίας.
11) Ποιος είναι ο ρόλος των «ActionFilters» στο MVC;
Στο MVC, τα "ActionFilters" σάς βοηθούν να εκτελέσετε τη λογική ενώ εκτελείται ή εκτελείται η ενέργεια MVC.
12) Ποια είναι τα βήματα για την εκτέλεση ενός έργου MVC;
Τα βήματα για την εκτέλεση ενός έργου MVC περιλαμβάνουν:
- Λάβετε το πρώτο αίτημα για την εφαρμογή
- Εκτελέστε δρομολόγηση
- Δημιουργήστε ένα πρόγραμμα χειρισμού αιτημάτων MVC
- Δημιουργία ελεγκτή
- Εκτέλεση ελεγκτή
- Επίκληση δράσης
- Εκτελέστε το αποτέλεσμα
13) Τι είναι η δρομολόγηση και τα τρία τμήματα;
Η δρομολόγηση σάς βοηθά να αποφασίσετε μια δομή διεύθυνσης URL και να αντιστοιχίσετε τη διεύθυνση URL με τον ελεγκτή.
Τα τρία τμήματα που είναι σημαντικά για τη δρομολόγηση είναι:
- Όνομα ελεγκτή
- ActionMethodName
- Παράμετρος
14) Πώς γίνεται η δρομολόγηση στο μοτίβο MVC;
Υπάρχει μια ομάδα διαδρομών που ονομάζεται RouteCollection, η οποία αποτελείται από καταχωρημένες διαδρομές στην εφαρμογή. Η μέθοδος RegisterRoutes καταγράφει τις διαδρομές αυτής της συλλογής. Μια διαδρομή ορίζει ένα μοτίβο διεύθυνσης URL και έναν χειριστή που θα χρησιμοποιηθεί εάν το αίτημα ταιριάζει με το μοτίβο.
Η πρώτη παράμετρος στη μέθοδο MapRoute είναι το όνομα της διαδρομής. Η δεύτερη παράμετρος θα είναι το μοτίβο στο οποίο ταιριάζει η διεύθυνση URL. Η τρίτη παράμετρος μπορεί να είναι οι προεπιλεγμένες τιμές για τα σύμβολα κράτησης θέσης, εάν δεν έχουν καθοριστεί.
15) Πώς μπορείτε να πλοηγηθείτε από μια προβολή σε άλλη προβολή χρησιμοποιώντας έναν υπερσύνδεσμο;
Χρησιμοποιώντας τη μέθοδο «ActionLink» όπως φαίνεται στον παρακάτω κώδικα. Ο παρακάτω κώδικας θα δημιουργήσει μια απλή διεύθυνση URL που σας βοηθά να πλοηγηθείτε στον ελεγκτή "Home" και να καλέσετε την ενέργεια "GotoHome".
Σύμπτυξη / Αντιγραφή κώδικα
<%= Html.ActionLink("Home", "Gotohome") %>
Ερωτήσεις και απαντήσεις συνέντευξης MVC για έμπειρους
16) Πώς διατηρούνται οι συνεδρίες στο MVC;
Οι περίοδοι λειτουργίας μπορούν να διατηρηθούν στο MVC με τρεις τρόπους: tempdata, viewdata και viewbag.
17) Ποια είναι η διαφορά μεταξύ δεδομένων Temp, Προβολή δεδομένων και Προβολή τσάντας;
- Δεδομένα θερμοκρασίας: Βοηθά στη διατήρηση δεδομένων όταν μεταβαίνετε από έναν ελεγκτή σε έναν άλλο ελεγκτή.
- Προβολή δεδομένων: Βοηθά στη διατήρηση δεδομένων όταν μετακινείστε από ελεγκτή σε προβολή.
- Προβολή τσάντας: Είναι ένα δυναμικό περιτύλιγμα γύρω από τα δεδομένα προβολής.
18) Τι είναι η μερική προβολή στο MVC;
Η μερική προβολή στο MVC αποδίδει ένα τμήμα του περιεχομένου προβολής. Είναι χρήσιμο στη μείωση του διπλασιασμού κώδικα. Με απλά λόγια, η μερική προβολή επιτρέπει την απόδοση μιας προβολής στη γονική προβολή.
19) Πώς μπορείτε να εφαρμόσετε τον Ajax στο MVC;
Στο MVC, ο Ajax μπορεί να εφαρμοστεί με δύο τρόπους
- Βιβλιοθήκες του Άγιαξ
- Jquery
20) Ποια είναι η διαφορά μεταξύ του "ActionResult" και του "ViewResult";
Το "ActionResult" είναι μια αφηρημένη κλάση ενώ το "ViewResult" προέρχεται από την κλάση "AbstractResult". Το "ActionResult" έχει μια σειρά από παράγωγες κλάσεις όπως "JsonResult", "FileStreamResult" και "ViewResult".
Το "ActionResult" είναι καλύτερο εάν εξάγετε διαφορετικούς τύπους προβολών δυναμικά.
21) Πώς μπορείτε να στείλετε το αποτέλεσμα πίσω σε μορφή JSON σε MVC;
Για να στείλετε το αποτέλεσμα πίσω σε μορφή JSON σε MVC, μπορείτε να χρησιμοποιήσετε την κλάση "JSONRESULT".
22) Ποια είναι η διαφορά μεταξύ Προβολής και Μερικής προβολής;
Εδώ είναι η διαφορά μεταξύ Προβολής και Μερικής προβολής
Προβολή | Μερική όψη |
---|---|
Περιέχει τη σελίδα διάταξης | Δεν περιέχει τη σελίδα διάταξης |
Πριν από την απόδοση οποιασδήποτε προβολής, αποδίδεται η σελίδα έναρξης προβολής | Η μερική προβολή δεν επαληθεύεται για ένα viewstart.cshtml. Δεν μπορούμε να βάλουμε κοινό κώδικα για μερική προβολή στη σελίδα viewStart.cshtml |
Η προβολή μπορεί να έχει ετικέτες σήμανσης όπως body, html, head, title, meta κ.λπ. | Η μερική προβολή έχει σχεδιαστεί ειδικά για απόδοση εντός της προβολής και μόνο γι' αυτό δεν περιλαμβάνει καμία σήμανση |
Η προβολή δεν είναι ελαφριά σε σύγκριση με τη Μερική προβολή | Μπορούμε να περάσουμε μια κανονική προβολή στη μέθοδο RenderPartial |
23) Ποιοι είναι οι τύποι αποτελεσμάτων στο MVC;
Στο MVC, υπάρχουν δώδεκα τύποι αποτελεσμάτων όπου η κλάση "ActionResult" είναι η κύρια κλάση ενώ τα 11 είναι οι υποτύποι τους:
- Προβολή Αποτελεσμάτων
- Αποτέλεσμα Μερικής Προβολής
- EmptyResult
- RedirectResult
- RedirectToRouteResult
- JsonResult
- JavaScriptResult
- Περιεχόμενο Αποτέλεσμα
- FileContentResult
- FileStreamResult
- FilePathResult
24) Ποια είναι η σημασία του NonActionAttribute;
Όλες οι δημόσιες μέθοδοι μιας κλάσης ελεγκτή αντιμετωπίζονται ως μέθοδος ενέργειας, εάν θέλετε να αποτρέψετε αυτήν την προεπιλεγμένη μέθοδο, τότε πρέπει να αντιστοιχίσετε τη δημόσια μέθοδο με το NonActionAttribute.
25) Ποια είναι η χρήση της προεπιλεγμένης διαδρομής {resource}.axd/{*pathinfo};
Η προεπιλεγμένη διαδρομή αποτρέπει τη διαβίβαση στον ελεγκτή αιτημάτων για ένα αρχείο πόρου Ιστού όπως το Webresource.axd ή το ScriptResource.axd.
26) Ποια είναι η σειρά των φίλτρων που εκτελούνται, εάν εφαρμοστούν πολλαπλά φίλτρα;
Η σειρά του φίλτρου θα είναι η εξής:
- Φίλτρα εξουσιοδότησης
- Φίλτρα δράσης
- Φίλτρα απόκρισης
- Φίλτρα εξαίρεσης
27) Ποια φίλτρα ASP.NET εκτελούνται τελικά;
Στο τέλος εκτελούνται τα «Φίλτρα εξαίρεσης».
28) Ποιες είναι οι επεκτάσεις αρχείων για τις προβολές ξυραφιού;
Για προβολές ξυραφιού, οι επεκτάσεις αρχείων είναι
- .cshtml: Εάν η γλώσσα προγραμματισμού είναι η C#
- .vbhtml: Εάν η γλώσσα προγραμματισμού είναι η VB
29) Ποιοι είναι οι δύο τρόποι για την προσθήκη περιορισμών σε μια διαδρομή;
Δύο μέθοδοι για την προσθήκη περιορισμών στη διαδρομή είναι:
- Χρήση κανονικών εκφράσεων
- Χρησιμοποιώντας ένα αντικείμενο που υλοποιεί τη διεπαφή IRouteConstraint
30) Ποιες είναι οι δύο περιπτώσεις όπου η δρομολόγηση δεν εφαρμόζεται ή απαιτείται;
Δύο περιπτώσεις όπου δεν απαιτείται δρομολόγηση είναι
- Όταν βρεθεί ένα φυσικό αρχείο που ταιριάζει με το μοτίβο διεύθυνσης URL
- Όταν η δρομολόγηση είναι απενεργοποιημένη για ένα μοτίβο διεύθυνσης URL
Ερωτήσεις συνέντευξης MVC για 5ετή εμπειρία
31) Ποια είναι τα χαρακτηριστικά του MVC;
Εδώ είναι τα χαρακτηριστικά του MVC:
- Εύκολη και χωρίς τριβή δυνατότητα δοκιμής. Πλαίσιο εξαιρετικά ελεγχόμενο, επεκτάσιμο και βύσμα.
- Προσφέρει πλήρη έλεγχο του HTML σας καθώς και των διευθύνσεών σας URL
- Αξιοποιεί τις υπάρχουσες δυνατότητες που παρέχονται από τα ASP.NET, JSP, Django κ.λπ.
- Σαφής διαχωρισμός λογικής: Μοντέλο, Προβολή, Ελεγκτής. Διαχωρισμός εργασιών εφαρμογής μέσω επιχειρηματικής λογικής, λογικής Ul και λογικής εισόδου.
- Διεύθυνση URL για διευθύνσεις URL φιλικές προς το SEO. Ισχυρή αντιστοίχιση URL για κατανοητές και αναζητήσιμες διευθύνσεις URL.
- Υποστήριξη για Test Driven Development (TDD).
32) Ποιο είναι το πραγματικό παράδειγμα του MVC;
Ακολουθεί ένα πραγματικό παράδειγμα MVC:
- Ας υποθέσουμε ότι πηγαίνετε σε ένα εστιατόριο. Δεν θα πάτε στην κουζίνα και θα ετοιμάσετε φαγητό που σίγουρα μπορείτε να κάνετε στο σπίτι σας. Αντίθετα, απλά πηγαίνετε εκεί και περιμένετε να έρθει ο σερβιτόρος.
- Τώρα έρχεται ο σερβιτόρος σε σένα και εσύ απλώς παραγγέλνεις το φαγητό. Ο σερβιτόρος δεν ξέρει ποιος είσαι και τι θέλεις, απλώς έγραψε τις λεπτομέρειες της παραγγελίας του φαγητού σου.
- Στη συνέχεια, ο σερβιτόρος μετακομίζει στην κουζίνα. Στην κουζίνα ο σερβιτόρος δεν σου ετοιμάζει το φαγητό.
- Ο μάγειρας ετοιμάζει το φαγητό σας. Στον σερβιτόρο δίνεται η παραγγελία σας μαζί με τον αριθμό του τραπεζιού σας.
- Ο Cook στη συνέχεια ετοιμάζει φαγητό για εσάς. Χρησιμοποιεί υλικά για να μαγειρέψει το φαγητό. Ας υποθέσουμε ότι παραγγείλατε ένα σάντουιτς λαχανικών. Μετά χρειάζεται ψωμί, ντομάτα, πατάτα, πιπεριά, κρεμμύδι, μπουκιά, τυρί κ.λπ., τα οποία οι πηγές από το ψυγείο
- Ο Κουκ παραδίδει τελικά το φαγητό στον σερβιτόρο. Τώρα είναι δουλειά του σερβιτόρου να μετακινήσει αυτό το φαγητό έξω από την κουζίνα.
- Τώρα ο σερβιτόρος ξέρει ποιο φαγητό έχετε παραγγείλει και πώς σερβίρεται.
Στην περίπτωση αυτή,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) Ποια είναι η διαφορά μεταξύ 3-επιπέδων Architecture και MVC Archiδομή;
Εδώ είναι μια διαφορά μεταξύ 3-επιπέδων Architecture και MVC Archiδομή:
Παράμετρος | 3-Tier Archiδομή | MVC Archiδομή |
---|---|---|
Επικοινωνία | Αυτός ο τύπος μοτίβου αρχιτεκτονικής δεν επικοινωνεί ποτέ απευθείας με το επίπεδο δεδομένων. | Όλα τα επίπεδα επικοινωνούν απευθείας χρησιμοποιώντας τοπολογία τριγώνου. |
Χρήση | 3-επίπεδο: χρησιμοποιείται ευρέως σε εφαρμογές web όπου ο πελάτης, τα επίπεδα δεδομένων και το ενδιάμεσο λογισμικό εκτελούνται σε φυσικά ξεχωριστές πλατφόρμες. | Χρησιμοποιείται γενικά σε εφαρμογές που εκτελούνται σε έναν ενιαίο σταθμό εργασίας γραφικών. |
34) Πώς μπορείτε να χρησιμοποιήσετε την αρχιτεκτονική MVC στο JSP;
Το παρακάτω παράδειγμα δείχνει τη χρήση της αρχιτεκτονικής MVC στο JSP:
- Παίρνουμε το παράδειγμα μιας φόρμας με δύο μεταβλητές, το "email" και τον "password" που είναι το επίπεδο προβολής μας.
- Μόλις ο χρήστης εισαγάγει email και κωδικό πρόσβασης και κάνει κλικ στο Submission, τότε η ενέργεια περνά στο mvc_servlet όπου περνούν το email και ο κωδικός πρόσβασης.
- Αυτό το mvc_servlet είναι επίπεδο ελεγκτή. Εδώ στο mvc_servlet, το αίτημα αποστέλλεται στο αντικείμενο bean, το οποίο λειτουργεί ως επίπεδο μοντέλου.
- Οι τιμές email και κωδικού πρόσβασης ορίζονται στο bean και αποθηκεύονται για περαιτέρω σκοπούς.
- Από το φασόλι, η τιμή λαμβάνεται και εμφανίζεται στο επίπεδο προβολής.
Mvc_example.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>MVC Guru Example</title> </head> <body> <form action="Mvc_servlet" method="POST"> Email: <input type="text" name="email"> <br /> Password: <input type="text" name="password" /> <input type="submit" value="Submit" /> </form> </body> </html>
Mvc_servlet.java
package demotest; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class Mvc_servlet */ public class Mvc_servlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public Mvc_servlet() { super(); // TODO Auto-generated constructor stub } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub String email=request.getParameter("email"); String password=request.getParameter("password"); TestBean testobj = new TestBean(); testobj.setEmail(email); testobj.setPassword(password); request.setAttribute("gurubean",testobj); RequestDispatcher rd=request.getRequestDispatcher("mvc_success.jsp"); rd.forward(request, response); } }
TestBean.java
package demotest; import java.io.Serializable; public class TestBean implements Serializable{ public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } private String email="null"; private String password="null"; }
Mvc_success.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@page import="demotest.TestBean"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Success</title> </head> <body> <% TestBean testguru=(TestBean)request.getAttribute("gurubean"); out.print("Welcome, "+testguru.getEmail()); %> </body> </html>
35) Πώς λειτουργεί το MVC την Άνοιξη;
Δείτε πώς λειτουργεί το MVC την Άνοιξη:
- Το DispatcherServlet λαμβάνει ένα αίτημα.
- Μετά από αυτό, το DispatcherServlet επικοινωνεί με το HandlerMapping. Ανακαλεί επίσης τον ελεγκτή που σχετίζεται με το συγκεκριμένο αίτημα.
- Ο ελεγκτής επεξεργάζεται αυτό το αίτημα καλώντας τις μεθόδους υπηρεσίας και ένα αντικείμενο ModelAndView επιστρέφεται από το DispatcherServlet.
- Το όνομα της αναλυτικής προβολής αποστέλλεται σε ένα ViewResolver για να βρεθεί η πραγματική Προβολή προς κλήση.
- Μετά από αυτό, το DispatcherServlet περνά στο View για απόδοση του αποτελέσματος.
- Χρησιμοποιώντας τα δεδομένα μοντέλου, η Προβολή αποδίδει και αποστέλλει πίσω το αποτέλεσμα στον χρήστη.
36) Ποια είναι τα σημαντικά σημεία που πρέπει να θυμάστε κατά τη δημιουργία μιας εφαρμογής MVC;
Ακολουθούν ορισμένα σημαντικά σημεία που πρέπει να θυμάστε κατά τη δημιουργία μιας εφαρμογής MVC:
- Πρέπει να θυμάστε ότι το ASP.net MVC δεν αντικαθιστά τις εφαρμογές που βασίζονται σε φόρμες ιστού ASP.Net
- Η προσέγγιση της ανάπτυξης εφαρμογών MVC πρέπει να αποφασιστεί με βάση τις απαιτήσεις και τις δυνατότητες εφαρμογής που παρέχονται από το ASP.net MVC για να ταιριάζει στις συγκεκριμένες ανάγκες ανάπτυξης.
- Η διαδικασία ανάπτυξης εφαρμογών με το ASP.NET MVC είναι πιο περίπλοκη σε σύγκριση με εφαρμογές που βασίζονται σε φόρμες Ιστού.
- Η δυνατότητα συντήρησης της εφαρμογής είναι πάντα υψηλότερη με τον διαχωρισμό των εργασιών εφαρμογής.
37) Ποια είναι η διαφορά μεταξύ Φόρμες Ιστού και MVC;
Εδώ είναι μια διαφορά μεταξύ Φόρμες Ιστού και MVC:
Παράμετροι | Φόρμες Ιστού | MVC |
---|---|---|
Μοντέλο | Οι Φόρμες Ιστού Asp.Net ακολουθούν το μοντέλο ανάπτυξης που βασίζεται σε συμβάντα. | Το Asp.Net MVC χρησιμοποιεί μοντέλο ανάπτυξης βασισμένο σε πρότυπα MVC. |
Χρησιμοποιείται από | Υπάρχει από το 2002 | Κυκλοφόρησε για πρώτη φορά το 2009 |
Υποστήριξη για κατάσταση προβολής | Το Asp.Net Web Forms υποστηρίζει κατάσταση προβολής για διαχείριση κατάστασης στην πλευρά του πελάτη. | Το .Net MVC δεν υποστηρίζει κατάσταση προβολής. |
Τύπος URL | Το Asp.Net Web Forms έχει URL που βασίζονται σε αρχεία. Σημαίνει ότι το όνομα αρχείου υπάρχει στις διευθύνσεις URL και πρέπει να υπάρχουν φυσικά. | Το Asp.Net MVC έχει διευθύνσεις URL που βασίζονται σε διαδρομή που σημαίνει ότι οι διευθύνσεις URL ανακατευθύνονται σε ελεγκτές και ενέργειες. |
Σύνταξη | Το Asp.Net MVC ακολουθεί τη Σύνταξη φορμών Ιστού. | Το Asp.Net MVC ακολουθεί την προσαρμόσιμη σύνταξη. |
Τύπος προβολής | Οι προβολές φορμών Ιστού συνδέονται στενά με τον κώδικα πίσω (ASPX-CS), δηλαδή τη λογική. | Οι προβολές και η λογική MVC διατηρούνται πάντα χωριστά. |
Συνεπής εμφάνιση και αίσθηση | Διαθέτει κύριες σελίδες για συνεπή εμφάνιση. | Το Asp.Net MVC διαθέτει διατάξεις για συνεπή εμφάνιση. |
Επαναχρησιμοποίηση κώδικα | Το Web Forms προσφέρει στοιχεία ελέγχου χρήστη για επαναχρησιμοποίηση κώδικα. | Το Asp.Net MVC προσφέρει μερικές προβολές για επαναχρησιμοποίηση κώδικα. |
Έλεγχος για HTML | Less έλεγχος του αποδοθέντος HTML. | Πλήρης έλεγχος του HTML |
Κρατική διαχείριση | Αυτόματη διαχείριση κατάστασης των ελέγχων. | Χειροκίνητη διαχείριση κατάστασης. |
Υποστήριξη TDD | Απαιτείται αδύναμο ή προσαρμοσμένο TDD. | Ενθαρρύνει και περιλαμβάνει TDD! |
38) Πώς μπορείτε να εμφανίσετε κάτι στο CodeIgniter;
Εδώ είναι ένας κώδικας για να εμφανίσετε κάτι στο CodeIgniter:
<?=$title?> As opposed to <?php echo $title; ?> Control structures are usually written as follows <?php foreach ($customers as $customer): ?> <li> <p><?=$customer->first_name?><p> </li> <?php endforeach; ?>
39) Γράψτε έναν κώδικα για την επίδειξη Μοντέλου, Προβολής και Ελεγκτή στο CodeIgniter.
Ακολουθεί ένας κώδικας για την επίδειξη Μοντέλου, Προβολής και Ελεγκτή στο CodeIgniter:
Ανοίξτε το αρχείο Welcome.php ελεγκτής που βρίσκεται η εφαρμογή/ελεγκτές:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Ενημερώστε το ευρετήριο ως εξής:
public function index() { $this->load->model('customers_model'); $data['customer'] = $this->customers_model->get_customer(3); $this->load->view('welcome_message',$data); }
Γράψτε τον παρακάτω κώδικα στο customer_model.php σε application/models.
<?php class Customers_model extends CI_Model { public function get_customer($id) { $data['id'] = 3; $data['first_name'] = 'John'; $data['last_name'] = 'Doe'; $data['address'] = 'Kingstone'; return $data; } }
Ανοίξτε το welcome_message.php που βρίσκεται στο
application/views/welcome_message.php
Αντικαταστήστε τον κωδικό με τον ακόλουθο
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>CodeIgniter MVC Basics</title> </head> <body> <h3>Customer Details Card</h3> <p>Customer ID : <strong><?=$customer['id']?></strong></p> <p>First Name : <strong><?=$customer['first_name']?></strong></p> <p>Last Name : <strong><?=$customer['last_name']?></strong></p> <p>Address : <strong><?=$customer['address']?></strong></p> </body> </html>
40) Μπορείτε να δημιουργήσετε μια εφαρμογή Ιστού με φόρμες ιστού και MVC;
Ναί. Πρέπει να συμπεριλάβετε τις παρακάτω αναφορές συναρμολόγησης MVC στην εφαρμογή φορμών Ιστού για να δημιουργήσετε μια υβριδική εφαρμογή.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) Πώς μπορείτε να εκχωρήσετε ένα ψευδώνυμο για την ASP.NET Web API Action;
Μπορούμε να δώσουμε όνομα ψευδώνυμο για την ενέργεια Web API όπως και στην περίπτωση του ASP.NET MVC χρησιμοποιώντας το χαρακτηριστικό "ActionName" ως εξής:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
42) Ποια είναι η κύρια διαφορά μεταξύ MVC και WebAPI;
Εδώ είναι η κύρια διαφορά μεταξύ MVC και WebAPI:
Το πλαίσιο MVC χρησιμοποιείται για την ανάπτυξη εφαρμογών που διαθέτουν διεπαφή χρήστη. Για αυτό, οι προβολές μπορούν να χρησιμοποιηθούν για τη δημιουργία μιας διεπαφής χρήστη.
Το WebAPI χρησιμοποιείται για την ανάπτυξη υπηρεσιών HTTP. Άλλες εφαρμογές μπορούν επίσης να ονομαστούν μέθοδοι WebAPI για τη λήψη αυτών των δεδομένων.
43) Πώς μπορείτε να διασφαλίσετε ότι το Web API επιστρέφει μόνο δεδομένα JSON;
Για να κάνετε το Web API να σειριοποιήσει το αντικείμενο που επιστρέφει σε μορφή JSON και να επιστρέφει μόνο δεδομένα JSON. Για αυτό, θα πρέπει να προσθέσετε τον ακόλουθο κώδικα στην κλάση WebApiConfig.cs σε οποιοδήποτε έργο MVC Web API:
//JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json")); 1 2 3 //JsonFormatter //MediaTypeHeaderValue Config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"))
44) Ποια είναι η διαφορά μεταξύ MVVM και MVC;
Ακολουθούν οι σημαντικές διαφορές μεταξύ MVVM και MVC:
MVC | MVVM |
---|---|
Ένας ελεγκτής είναι το σημείο εισόδου στην Εφαρμογή. | Η Προβολή είναι το σημείο εισόδου στην Εφαρμογή. |
Μία έως πολλές σχέσεις μεταξύ ελεγκτή και προβολής. | Μία έως πολλές σχέσεις μεταξύ Προβολή & Προβολή μοντέλου. |
Η προβολή δεν έχει αναφορά στον ελεγκτή | Η προβολή έχει αναφορές στο View-Model. |
Το MVC είναι παλιό μοντέλο | Το MVVM είναι ένα σχετικά νέο μοντέλο. |
Δύσκολη ανάγνωση, αλλαγή, δοκιμή μονάδας και επαναχρησιμοποίηση αυτού του μοντέλου | Η διαδικασία εντοπισμού σφαλμάτων θα είναι περίπλοκη όταν έχουμε πολύπλοκες δεσμεύσεις δεδομένων. |
Το στοιχείο MVC Model μπορεί να ελεγχθεί ξεχωριστά από το χρήστη | Εύκολο για τη δοκιμή ξεχωριστής μονάδας και ο κώδικας βασίζεται σε συμβάντα. |
45) Τι είναι το MVC στο AngularJS;
Το Angular.js ακολουθεί την αρχιτεκτονική MVC, το διάγραμμα του πλαισίου MVC φαίνεται παρακάτω.
- Ο ελεγκτής αντιπροσωπεύει το επίπεδο που έχει την επιχειρηματική λογική. Τα συμβάντα χρήστη ενεργοποιούν τις λειτουργίες που είναι αποθηκευμένες στον ελεγκτή σας. Τα συμβάντα χρήστη αποτελούν μέρος του ελεγκτή.
- Οι προβολές χρησιμοποιούνται για την αναπαράσταση του επιπέδου παρουσίασης που παρέχεται στους τελικούς χρήστες.
- Τα μοντέλα χρησιμοποιούνται για την αναπαράσταση των δεδομένων σας. Τα δεδομένα στο μοντέλο σας μπορεί να είναι τόσο απλά όσο να έχετε απλώς πρωτόγονες δηλώσεις. Για παράδειγμα, εάν διατηρείτε μια φοιτητική εφαρμογή, το μοντέλο δεδομένων σας θα μπορούσε απλώς να έχει ένα αναγνωριστικό φοιτητή και ένα όνομα. Ή μπορεί επίσης να είναι πολύπλοκο έχοντας ένα δομημένο μοντέλο δεδομένων. Εάν διατηρείτε μια εφαρμογή ιδιοκτησίας αυτοκινήτου, μπορείτε να έχετε δομές για να ορίσετε το ίδιο το όχημα από την άποψη της χωρητικότητας του κινητήρα, της χωρητικότητας καθισμάτων κ.λπ.
46) Ποιος είναι ο ρόλος του MVC στο AngularJS;
Ακολουθεί ένας απλός ορισμός της λειτουργίας του ελεγκτή AngularJS.
- Η κύρια ευθύνη του ελεγκτή είναι να ελέγχει τα δεδομένα που μεταβιβάζονται στην προβολή. Το εύρος και η θέα έχουν αμφίδρομη επικοινωνία.
- Οι ιδιότητες της προβολής μπορούν να καλούν "συναρτήσεις" στο εύρος. Επιπλέον, τα συμβάντα στην προβολή μπορούν να αποκαλούν "μεθόδους" στο εύρος. Το παρακάτω απόσπασμα κώδικα δίνει ένα απλό παράδειγμα συνάρτησης.
- Η συνάρτηση($scope) που ορίζεται κατά τον ορισμό του ελεγκτή και μια εσωτερική συνάρτηση που χρησιμοποιείται για να επιστρέψει τη συνένωση των $scope.firstName και $scope.lastName.
- Στο AngularJS όταν ορίζετε μια συνάρτηση ως μεταβλητή, είναι γνωστή ως μέθοδος.
- Τα δεδομένα με αυτόν τον τρόπο περνούν από τον ελεγκτή στο πεδίο εφαρμογής και, στη συνέχεια, τα δεδομένα περνούν εμπρός και πίσω από το πεδίο εφαρμογής στην προβολή.
- Το εύρος χρησιμοποιείται για την έκθεση του μοντέλου στην προβολή. Το μοντέλο μπορεί να τροποποιηθεί μέσω μεθόδων που ορίζονται στο πεδίο εφαρμογής, οι οποίες θα μπορούσαν να ενεργοποιηθούν μέσω συμβάντων από την προβολή. Μπορούμε να ορίσουμε αμφίδρομη σύνδεση μοντέλου από το πεδίο εφαρμογής στο μοντέλο.
- Οι ελεγκτές δεν θα πρέπει ιδανικά να χρησιμοποιούνται για τον χειρισμό του DOM. Αυτό πρέπει να γίνει με τις οδηγίες, τις οποίες θα δούμε στη συνέχεια.
- Η καλύτερη πρακτική είναι να υπάρχουν ελεγκτές με βάση τη λειτουργικότητα. Για παράδειγμα, εάν έχετε μια φόρμα για εισαγωγή και χρειάζεστε έναν ελεγκτή για αυτό, δημιουργήστε έναν ελεγκτή που ονομάζεται "φορμα ελεγκτής".
47) Πώς να δημιουργήσετε έναν βασικό ελεγκτή στο AngularJS
Το παρακάτω απόσπασμα κώδικα είναι μια απλή σελίδα HTML που έχει τον τίτλο "Εγγραφή συμβάντος" και έχει αναφορές σε σημαντικές βιβλιοθήκες όπως π.χ. Bootstrap, jquery και Angular.
- Προσθέτουμε αναφορές στα φύλλα στυλ CSS εκκίνησης, τα οποία θα χρησιμοποιηθούν σε συνδυασμό με τις βιβλιοθήκες bootstrap.
- Προσθέτουμε αναφορές στις βιβλιοθήκες AngularJS. Τώρα λοιπόν, ό,τι και να κάνουμε με το angular.js θα γίνεται αναφορά από αυτήν τη βιβλιοθήκη.
- Προσθέτουμε αναφορές στη βιβλιοθήκη bootstrap για να κάνουμε την ιστοσελίδα μας πιο ανταποκρινόμενη για ορισμένα στοιχεία ελέγχου.
- Προσθέσαμε αναφορές σε βιβλιοθήκες jquery που θα χρησιμοποιηθούν για χειρισμό DOM. Αυτό απαιτείται από το Angular επειδή ορισμένες από τις λειτουργίες του Angular εξαρτώνται από αυτήν τη βιβλιοθήκη.
Από προεπιλογή, το παραπάνω απόσπασμα κώδικα θα υπάρχει σε όλα τα παραδείγματά μας, ώστε να μπορούμε να δείξουμε μόνο τον συγκεκριμένο κώδικα angularJS στις επόμενες ενότητες.
Δεύτερον, ας δούμε τα αρχεία μας και τη δομή αρχείων που πρόκειται να ξεκινήσουμε με το μάθημά μας:
- Αρχικά, διαχωρίζουμε τα αρχεία μας σε 2 φακέλους όπως γίνεται με οποιαδήποτε συμβατική εφαρμογή web. Έχουμε το φάκελο "CSS". Θα περιέχει όλα μας τα αρχεία του φύλλου στυλ καταρράκτη και, στη συνέχεια, θα έχουμε τον φάκελο "lib", ο οποίος θα έχει όλα τα JavaΓραφή αρχεία.
- Το αρχείο bootstrap.css τοποθετείται στον φάκελο CSS και χρησιμοποιείται για να προσθέσετε μια καλή εμφάνιση και αίσθηση στον ιστότοπό μας.
- Το angular.js είναι το κύριο αρχείο μας το οποίο κατεβάστηκε από τον ιστότοπο angularJS και διατηρήθηκε στον φάκελο lib.
- Το αρχείο app.js θα περιέχει τον κωδικό μας για τους ελεγκτές.
- Το αρχείο bootstrap.js χρησιμοποιείται για τη συμπλήρωση του αρχείου bootstrap.cs για την προσθήκη λειτουργικότητας bootstrap στην εφαρμογή Ιστού μας.
- Το αρχείο jquery θα χρησιμοποιηθεί για την προσθήκη λειτουργιών χειρισμού DOM στον ιστότοπό μας.
Παράδειγμα χρήσης angular.js:
Αυτό που θέλουμε να κάνουμε εδώ είναι απλώς να εμφανίζουμε τις λέξεις "AngularJS" τόσο σε μορφή κειμένου όσο και σε πλαίσιο κειμένου όταν η σελίδα προβάλλεται στο πρόγραμμα περιήγησης.
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body> <h3> Guru99 Global Event</h3> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <div ng-app="DemoApp" ng-controller="DemoController"> Tutorial Name : <input type="text" ng-model="tutorialName"><br> This tutorial is {{tutorialName}} </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoController', function($scope){ $scope.tutorialName = "Angular JS"; }); </script> </body> </html>
48) Ποια είναι η χρήση του ng-controller σε εξωτερικά αρχεία στο AngularJS
Εκτελέστε τα παρακάτω βήματα για να χρησιμοποιήσετε τον ελεγκτή ng σε εξωτερικά αρχεία στο AngularJS
Βήμα 1) Στο αρχείο app.js, προσθέστε τον παρακάτω κώδικα για τον ελεγκτή σας
angular.module('app',[]).controller('HelloWorldCtrl',function($scope) { $scope.message = "Hello World" });
Βήμα 2) Τώρα, στο αρχείο Sample.html, προσθέστε μια κλάση div που θα περιέχει την οδηγία ng-controller και, στη συνέχεια, προσθέστε μια αναφορά στη μεταβλητή μέλους "message".
<!DOCTYPE html> <html ng-app="app"> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body> <h3> Guru99 Global Event</h3> <div class="container"> <div ng-controller="HelloWorldCtrl">{{message}}</div> </div> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <script src="app.js"></script> </body> </html>
49) Γράψτε κώδικα για να ορίσετε μεθόδους στον ελεγκτή AngularJS;
Ακολουθεί ένας κώδικας για τον καθορισμό μεθόδων στον ελεγκτή AngularJS:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body ng-app="DemoApp"> <h3> Guru99 Global Event</h3> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <div ng-app="DemoApp" ng-controller="DemoController"> Tutorial Name :<input type="text" ng-model="tutorialName"><br> <br> This tutorial is {{tutorialName}} </div> <script> var app = angular.module('DemoApp', []); app.controller('DemoController', function($scope) { $scope.tutorialName = "Angular JS"; $scope.tName = function() { return $scope.tName; }; }); </script> </body> </html>
50) Γράψτε κώδικα χρησιμοποιώντας το ng-model για να εμφανίσετε τον έλεγχο εισόδου πολλαπλών γραμμών στο AngularJS.
Ακολουθεί ένας κώδικας που χρησιμοποιεί το ng-model για την εμφάνιση ελέγχου εισόδου πολλαπλών γραμμών στο AngularJS:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body > <h3> Guru99 Global Event</h3> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <div ng-app="DemoApp" ng-controller="DemoCtrl"> <form> Topic Description:<br> <br> <textarea rows="4" cols="50" ng-model="pDescription"></textarea><br><br> </form> </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoCtrl', function($scope){ $scope.pDescription="This topic looks at how Angular JS works \nModels in Angular JS"}); </script> </body> </html>
51) Γράψτε κώδικα για να δείξετε τη χρήση των στοιχείων εισόδου.
Ακολουθεί ένα παράδειγμα κώδικα που χρησιμοποιεί στοιχεία εισόδου AngulaJS:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> </head> <body > <h3> Guru99 Global Event</h3> <div ng-app="DemoApp" ng-controller="DemoCtrl"> <form> Topic Description:<br> <br> Name : <input type="text" ng-model="pname"><br> Topic : <br> <input type="checkbox" ng-model="Topic.Controller">Controller<br> <input type="checkbox" ng-model="Topic.Models">Models </form> </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoCtrl', function($scope){ $scope.pname="Guru99"; $scope.Topic = { Controller:true, Models:false }; }); </script> </body> </html>
52) Πώς μπορείτε να δημιουργήσετε ένα μοντέλο στην PHP;
Εδώ είναι ένας κώδικας για τη δημιουργία μοντέλου στην PHP:
<?php class Opinion_poll_model extends CI_Model { public function __construct() { $this->load->database(); } public function total_votes() { $query = $this->db->select('COUNT(choice) as choices_count')->get('js_libraries'); return $query->row()->choices_count; } public function get_results() { $libraries = array("", "JQuery", "MooTools", "YUI Library", "Glow"); $table_rows = ''; for ($i = 1; $i < 5; $i++) { $sql_stmt = "SELECT COUNT(choice) choices_count FROM js_libraries WHERE choice = $i;"; $result = $model-> select($sql_stmt); $table_rows .= "<tr><td>" . $ libraries [$i] . " Got:</td><td><b>" . $result[0] . "</b> votes</td></tr>"; } public function add_vote($choice) { $ts = date("Y-m-d H:i:s"); $data = array('choice' => $choice, 'ts' => $ts); $this->db->insert('js_libraries', $data); } } ?>
53) Γιατί να χρησιμοποιήσετε το PHP MVC Framework;
Θα πρέπει να χρησιμοποιήσετε το PHP MVC Framework επειδή απλοποιεί την εργασία με πολύπλοκες τεχνολογίες με:
- Απόκρυψη όλων των πολύπλοκων λεπτομερειών υλοποίησης
- Παρέχοντας τυπικές μεθόδους που μπορούμε να χρησιμοποιήσουμε για τη δημιουργία των εφαρμογών μας.
- Αυξημένη παραγωγικότητα προγραμματιστών, αυτό οφείλεται στο ότι η βασική υλοποίηση δραστηριοτήτων όπως η σύνδεση στη βάση δεδομένων, η εξυγίανση των εισροών χρήστη κ.λπ., έχουν ήδη υλοποιηθεί εν μέρει.
- Τήρηση επαγγελματικών προτύπων κωδικοποίησης
54) Ποια είναι τα δημοφιλή πλαίσια PHP MVC;
Ακολουθούν τα δημοφιλή πλαίσια PHP MVC:
CodeIgniter: Είναι ένα από τα πιο δημοφιλή πλαίσια PHP MVC. Είναι ελαφρύ και έχει μικρή καμπύλη εκμάθησης. Διαθέτει ένα πλούσιο σύνολο βιβλιοθηκών που βοηθούν στη γρήγορη δημιουργία ιστοσελίδων και εφαρμογών. Οι χρήστες με περιορισμένες γνώσεις προγραμματισμού OOP μπορούν επίσης να το χρησιμοποιήσουν.
Kohana: Είναι ένας ελεγκτής ιεραρχικής προβολής μοντέλου HMVC που είναι ένα ασφαλές και ελαφρύ πλαίσιο. Διαθέτει ένα πλούσιο σύνολο εξαρτημάτων για την ταχεία ανάπτυξη εφαρμογών.
CakePHP: Είναι κατασκευασμένο από το Ruby on Rails. Είναι γνωστό για έννοιες όπως μοτίβα σχεδίασης λογισμικού, convention over configuration, ActiveRecord κ.λπ.
Zend: Είναι ένα ισχυρό πλαίσιο που είναι?
- Ασφαλές, αξιόπιστο, γρήγορο και επεκτάσιμο
- Υποστηρίζει Web 2.0 και δημιουργία διαδικτυακών υπηρεσιών.
Διαθέτει API από προμηθευτές όπως Amazon, Google, Flickr, Yahoo κ.λπ. Είναι ιδανικό για την ανάπτυξη επιχειρηματικών εφαρμογών.
55) Πώς μπορείτε να δημιουργήσετε προβολές στην PHP;
Ακολουθεί ένας κώδικας για τη δημιουργία προβολών στην PHP:
opinion_poll_form.php <html> <head> <title> JavaScript Libraries - Opinion Poll </title> </head> <body> <h3>JavaScript Libraries - Opinion Poll</h3> <p><b>What is your favorite JavaScript Library? </b></p> <form method="POST" action="index.php"> <p> <input type="radio" name="vote" value="1" /> JQuery <br /> <input type="radio" name="vote" value="2" /> MooTools <br /> <input type="radio" name="vote" value="3" /> YUI Library <br /> <input type="radio" name="vote" value="4" /> Glow </p> <p> <input type="submit" name="submitbutton" value="OK" /> </p> </form> </body> </html>
Ας δημιουργήσουμε τώρα τη σελίδα αποτελεσμάτων results.php
<html> <head> <title>JavaScript Libraries - Opinion Poll Results</title> </head> <body> <h3>JavaScript Libraries - Opinion Poll Results</h3> <p><b>What is your favorite JavaScript Library?</b></p> <p><b><?php echo $total_votes; ?></b> people have thus far taken part in this poll:</p> <p><table><tr><td> <?php print($rows); ?> </tr></td></table></p> <p><a href="#">Return to voting page</a></p> </body> </html>
Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας