Top 55 des questions et réponses d'entretien MVC (PDF)
Questions et réponses d'entretien MVC pour les débutants
1) Qu'est-ce que Modèle-Vue-Contrôleur ?
MVC est un modèle d'architecture logicielle pour le développement d'applications Web. Il est géré par trois objets, Model, View et Controller.
👉 Téléchargement PDF gratuit : questions et réponses d'entretien MVC
2) Que représente Model-View-Controller dans une application MVC ?
Dans un modèle MVC,
- Modèle– Il représente le domaine des données d’application. En d’autres termes, la logique métier d’une application est contenue dans le modèle et est responsable de la maintenance des données.
- Voyez– Il représente l'interface utilisateur avec laquelle les utilisateurs finaux communiquent. En bref, toute la logique de l'interface utilisateur est contenue dans View.
- Manette- C'est le contrôleur qui répond aux actions de l'utilisateur. Sur la base des actions de l'utilisateur, le contrôleur respectif répond dans le modèle et choisit une vue à restituer qui affiche l'interface utilisateur. La logique d'entrée utilisateur est contenue dans le contrôleur.
3) Nommez l'assembly pour définir MVC
Vue d'ensemble Cadre MVC est défini dans l'assembly System.Web.Mvc.
4) Quels sont les différents types de retour d'une méthode d'action du contrôleur
Voici différents types de retour d’une méthode d’action du contrôleur :
- Voir résultat
- JavaRésultat du script
- Résultat de redirection
- Résultat JSON
- Résultat du contenu
5) Quelle est la différence entre l'ajout de routes à une application de formulaire Web et à une application MVC ?
Pour ajouter des routes à une application de formulaire Web, nous utilisons la méthode MapPageRoute() de la classe RouteCollection, tandis que pour ajouter des routes à une application MVC, nous utilisons la méthode MapRoute().
6) Quelles sont les deux manières d’ajouter des contraintes à un itinéraire ?
Les deux méthodes pour ajouter des contraintes à un itinéraire sont
- Utiliser des expressions régulières
- Utiliser un objet qui implémente l'interface IRouteConstraint
7) Quels sont les avantages de MVC ?
- MVC sépare votre projet en un segment différent et il devient facile pour les développeurs de travailler dessus
- Il est facile de modifier ou de modifier une partie de votre projet, ce qui réduit les coûts de développement et de maintenance du projet.
- MVC rend votre projet plus systématique
- Il représente une séparation claire entre la logique métier et la logique de présentation
- Chaque objet MVC a des responsabilités différentes
- Le développement progresse en parallèle
- Facile à gérer et à entretenir
- Toutes les classes et objets sont indépendants les uns des autres
8) Que font les fonctions « beforeFilter() », « beforeRender » et « afterFilter » dans Controller ?
- avantFilter() : Cette fonction s'exécute avant chaque action dans le contrôleur. C'est le bon endroit pour vérifier une session active ou inspecter les autorisations des utilisateurs.
- avant le rendu() : Cette fonction est appelée après la logique d'action du contrôleur, mais avant le rendu de la vue. Cette fonction n'est pas souvent utilisée mais peut être requise si vous appelez render() manuellement avant la fin d'une action donnée.
- afterFilter() : Cette fonction est appelée après chaque action du contrôleur et après le rendu. C'est la dernière méthode de contrôleur à exécuter.
9) Quel est le rôle des composants Présentation, Abstraction et Contrôle dans MVC ?
Voici le rôle des composants Présentation, Abstraction et Contrôle dans MVC :
- Présentation: C'est la représentation visuelle d'une abstraction spécifique au sein de l'application
- Abstraction: Il s'agit de la fonctionnalité du domaine métier au sein de l'application
- Contrôle: C'est un composant qui maintient la cohérence entre l'abstraction au sein du système et leur présentation à l'utilisateur en plus de communiquer avec d'autres contrôles au sein du système.
10) Quels sont les inconvénients du modèle MVC ?
Voici quelques inconvénients importants du modèle MVC :
- Le modèle du modèle est un peu complexe.
- Inefficacité de l’accès aux données en vue.
- Avec une interface utilisateur moderne, il est difficile d'utiliser MVC.
- Vous avez besoin de plusieurs programmeurs pour le développement parallèle.
- Des connaissances technologiques multiples sont requises.
11) Quel est le rôle des « ActionFilters » dans MVC ?
Dans MVC, « ActionFilters » vous aide à exécuter la logique pendant que l'action MVC est exécutée ou en cours d'exécution.
12) Quelles sont les étapes pour l'exécution d'un projet MVC ?
Les étapes pour l'exécution d'un projet MVC comprennent :
- Recevez la première demande de candidature
- Effectuer le routage
- Créer un gestionnaire de requêtes MVC
- Créer un contrôleur
- Exécuter le contrôleur
- Invoquer une action
- Exécuter le résultat
13) Qu'est-ce que le routage et les trois segments ?
Le routage vous aide à décider d'une structure d'URL et à mapper l'URL avec le contrôleur.
Les trois segments importants pour le routage sont :
- NomContrôleur
- NomMéthodeAction
- Paramètres
14) Comment s'effectue le routage dans le modèle MVC ?
Il existe un groupe d'itinéraires appelé RouteCollection, qui se compose d'itinéraires enregistrés dans l'application. La méthode RegisterRoutes enregistre les itinéraires de cette collection. Une route définit un modèle d'URL et un gestionnaire à utiliser si la requête correspond au modèle.
Le premier paramètre de la méthode MapRoute est le nom de l'itinéraire. Le deuxième paramètre sera le modèle auquel l'URL correspond. Le troisième paramètre peut être les valeurs par défaut des espaces réservés si elles ne sont pas déterminées.
15) Comment naviguer d’une vue à une autre à l’aide d’un lien hypertexte ?
En utilisant la méthode « ActionLink » comme indiqué dans le code ci-dessous. Le code ci-dessous créera une URL simple qui permettra d'accéder au contrôleur « Accueil » et d'invoquer l'action « GotoHome ».
Réduire/Copier le code
<%= Html.ActionLink("Home", "Gotohome") %>
Questions et réponses d'entretien MVC pour les expérimentés
16) Comment les sessions sont-elles gérées dans MVC ?
Les sessions peuvent être gérées dans MVC de trois manières : tempdata, viewdata et viewbag.
17) Quelle est la différence entre les données temporaires, les données View et View Bag ?
- Données temporaires : Cela aide à conserver les données lorsque vous passez d’un contrôleur à un autre.
- Afficher les données : Cela aide à conserver les données lorsque vous passez du contrôleur à la vue.
- Voir le sac : Il s'agit d'un wrapper dynamique autour des données d'affichage.
18) Qu'est-ce qu'une vue partielle dans MVC ?
La vue partielle dans MVC restitue une partie du contenu de la vue. Cela est utile pour réduire la duplication de code. En termes simples, la vue partielle permet de restituer une vue au sein de la vue parent.
19) Comment implémenter Ajax dans MVC ?
Dans MVC, Ajax peut être implémenté de deux manières
- Bibliothèques Ajax
- Jquery
20) Quelle est la différence entre « ActionResult » et « ViewResult » ?
« ActionResult » est une classe abstraite tandis que « ViewResult » est dérivé de la classe « AbstractResult ». « ActionResult » possède un certain nombre de classes dérivées comme « JsonResult », « FileStreamResult » et « ViewResult ».
« ActionResult » est préférable si vous dérivez dynamiquement différents types de vues.
21) Comment renvoyer le résultat au format JSON dans MVC ?
Afin de renvoyer le résultat au format JSON dans MVC, vous pouvez utiliser la classe « JSONRESULT ».
22) Quelle est la différence entre la vue et la vue partielle ?
Voici la différence entre View et Partial View
Voyez | Vue partielle |
---|---|
Il contient la page de mise en page | Il ne contient pas la page de mise en page |
Avant qu'une vue ne soit rendue, la page de démarrage de la vue est rendue | La vue partielle ne vérifie pas un viewstart.cshtml. Nous ne pouvons pas mettre de code commun pour une vue partielle dans viewStart.cshtml.page |
La vue peut avoir des balises de balisage telles que body, html, head, title, meta, etc. | La vue partielle est spécialement conçue pour être restituée dans la vue, et c'est pour cette raison qu'elle ne contient aucun balisage. |
La vue n'est pas légère par rapport à la vue partielle | Nous pouvons passer une vue régulière à la méthode RenderPartial |
23) Quels sont les types de résultats dans MVC ?
Dans MVC, il existe douze types de résultats, la classe « ActionResult » étant la classe principale tandis que les 11 sont leurs sous-types :
- Voir résultat
- Résultat de la vue partielle
- RésultatVide
- Résultat de la redirection
- RedirectToRouteResultRedirectToRouteResult
- JsonRésultat
- JavaRésultat du script
- ContenuRésultat
- FichierContenuRésultat
- FileStreamResultFileStreamResult
- FilePathResult
24) Quelle est l’importance de NonActionAttribute ?
Toutes les méthodes publiques d'une classe de contrôleur sont traitées comme méthode d'action. Si vous souhaitez empêcher cette méthode par défaut, vous devez alors attribuer la méthode publique avec NonActionAttribute.
25) A quoi sert la route par défaut {resource}.axd/{*pathinfo} ?
L'itinéraire par défaut empêche les demandes d'un fichier de ressources Web tel que Webresource.axd ou ScriptResource.axd d'être transmises au contrôleur.
26) Quel est l'ordre des filtres exécutés si plusieurs filtres sont implémentés ?
L'ordre des filtres serait le suivant :
- Filtres d'autorisation
- Filtres d'action
- Filtres de réponse
- Filtres d'exception
27) Quels filtres ASP.NET sont exécutés au final ?
À la fin, des « filtres d'exception » sont exécutés.
28) Quelles sont les extensions de fichiers pour les vues rasoir ?
Pour les vues rasoir, les extensions de fichier sont
- .cshtml : si C# est le langage de programmation
- .vbhtml : si VB est le langage de programmation
29) Quelles sont les deux manières d'ajouter des contraintes à un itinéraire ?
Deux méthodes pour ajouter des contraintes à l'itinéraire sont :
- Utiliser des expressions régulières
- Utilisation d'un objet qui implémente l'interface IRouteConstraint
30) Quels sont les deux cas où le routage n'est pas implémenté ou requis ?
Deux cas où le routage n'est pas requis sont
- Lorsqu'un fichier physique correspondant au modèle d'URL est trouvé
- Lorsque le routage est désactivé pour un modèle d'URL
Questions d'entretien MVC pour 5 ans d'expérience
31) Quelles sont les fonctionnalités de MVC ?
Voici les fonctionnalités de MVC :
- Testabilité facile et sans friction. Framework hautement testable, extensible et enfichable.
- Offre un contrôle total sur votre code HTML ainsi que sur vos URL
- Tire parti des fonctionnalités existantes fournies par ASP.NET, JSP, Django, etc.
- Séparation claire de la logique : modèle, vue, contrôleur. Séparation des tâches d'application via la logique métier, la logique Ul et la logique d'entrée.
- Routage d'URL pour les URL optimisées pour le référencement. Mappage d'URL puissant pour des URL compréhensibles et consultables.
- Prise en charge du développement piloté par les tests (TDD).
32) Quels sont les exemples concrets de MVC ?
Voici un exemple concret de MVC :
- Supposons que vous alliez au restaurant. Vous n’irez pas à la cuisine et préparerez des plats que vous pouvez sûrement faire chez vous. Au lieu de cela, allez-y et attendez que le serveur arrive.
- Maintenant, le serveur vient vers vous et vous commandez simplement la nourriture. Le serveur ne sait pas qui vous êtes et ce que vous voulez, il vient d'écrire le détail de votre commande de nourriture.
- Ensuite, le serveur se dirige vers la cuisine. En cuisine, le serveur ne prépare pas votre nourriture.
- Le cuisinier prépare votre nourriture. Le serveur reçoit votre commande ainsi que votre numéro de table.
- Cook prépare ensuite à manger pour vous. Il utilise des ingrédients pour cuisiner la nourriture. Supposons que vous ayez commandé un sandwich aux légumes. Ensuite, il lui faut du pain, des tomates, des pommes de terre, des poivrons, des oignons, des morceaux, du fromage, etc., qu'il sort du réfrigérateur.
- Cook remet enfin la nourriture au serveur. Il incombe désormais au serveur de déplacer ces aliments hors de la cuisine.
- Le serveur sait désormais quel plat vous avez commandé et comment il est servi.
Dans ce cas,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) Quelle est la différence entre 3 niveaux Archiconfiguration et MVC Architecture ?
Voici une différence entre 3 niveaux Archiconfiguration et MVC Archistructure :
Paramètres | 3-Tier Architecture | MVC Architecture |
---|---|---|
Communication | Ce type de modèle d'architecture ne communique jamais directement avec la couche de données. | Toutes les couches communiquent directement en utilisant la topologie triangulaire. |
Utilisation | 3 niveaux : largement utilisé dans les applications Web où le client, les niveaux de données et le middleware s'exécutent sur des plates-formes physiquement distinctes. | Généralement utilisé sur les applications qui s'exécutent sur un seul poste de travail graphique. |
34) Comment utiliser l’architecture MVC dans JSP ?
L'exemple suivant montre l'utilisation de l'architecture MVC dans JSP :
- Nous prenons l'exemple d'un formulaire à deux variables, « email » et « mot de passe » qui est notre couche de visualisation.
- Une fois que l'utilisateur saisit son e-mail et son mot de passe et clique sur Soumettre, l'action est transmise dans mvc_servlet où l'e-mail et le mot de passe sont transmis.
- Ce mvc_servlet est la couche contrôleur. Ici, dans mvc_servlet, la requête est envoyée à l'objet bean, qui fait office de couche modèle.
- Les valeurs d'e-mail et de mot de passe sont définies dans le bean et stockées à des fins ultérieures.
- À partir du bean, la valeur est récupérée et affichée dans la couche de vue.
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) Comment fonctionne MVC au printemps ?
Voici comment fonctionne MVC au printemps :
- DispatcherServlet reçoit une demande.
- Après cela, le DispatcherServlet communique avec HandlerMapping. Il révoque également le contrôleur associé à cette demande spécifique.
- Le contrôleur traite cette demande en appelant les méthodes de service et un objet ModelAndView est renvoyé par le DispatcherServlet.
- Le nom de la vue est envoyé à un ViewResolver pour trouver la vue réelle à appeler.
- Après cela, DispatcherServlet est transmis à View pour afficher le résultat.
- En utilisant les données du modèle, la vue restitue et renvoie le résultat à l'utilisateur.
36) Quels sont les points importants à retenir lors de la création d’une application MVC ?
Voici quelques points importants à retenir lors de la création d’une application MVC :
- Vous devez vous rappeler qu'ASP.net MVC ne remplace pas les applications basées sur des formulaires Web ASP.Net.
- L'approche de développement d'applications MVC doit être décidée en fonction des exigences de l'application et des fonctionnalités fournies par ASP.net MVC pour répondre aux besoins de développement spécifiques.
- Le processus de développement d'applications avec ASP.NET MVC est plus complexe que celui des applications basées sur des formulaires Web.
- La maintenabilité des applications est toujours plus élevée avec la séparation des tâches applicatives.
37) Quelle est la différence entre les formulaires Web et MVC ?
Voici une différence entre Web Forms et MVC :
Paramètres | Formulaires Web | MVC |
---|---|---|
Modèle | Asp.Net Web Forms suit un modèle de développement basé sur les événements. | Asp.Net MVC utilise un modèle de développement basé sur des modèles MVC. |
Utilisé depuis | Présent depuis 2002 | Il est sorti pour la première fois en 2009 |
Prise en charge de l'état d'affichage | Asp.Net Web Forms prend en charge l'état d'affichage pour la gestion de l'état côté client. | .Net MVC ne prend pas en charge l'état d'affichage. |
Type d'URL | Asp.Net Web Forms possède des URL basées sur des fichiers. Cela signifie que le nom de fichier existe dans les URL et qu'ils doivent exister physiquement. | Asp.Net MVC possède des URL basées sur des routes, ce qui signifie que les URL sont redirigées vers des contrôleurs et des actions. |
Syntaxe | Asp.Net MVC suit la syntaxe des formulaires Web. | Asp.Net MVC suit la syntaxe personnalisable. |
Type de vue | Les vues Web Forms sont étroitement couplées au code derrière (ASPX-CS), c'est-à-dire à la logique. | Les vues et la logique MVC sont toujours conservées séparément. |
Aspect et sensation cohérents | Il comporte des pages maîtres pour une apparence cohérente. | Asp.Net MVC a des mises en page pour une apparence cohérente. |
Réutilisabilité du code | Web Forms propose des contrôles utilisateur pour la réutilisation du code. | Asp.Net MVC offre des vues partielles pour la réutilisation du code. |
Contrôle pour HTML | Less contrôle sur le rendu HTML. | Contrôle total sur HTML |
Gestion de l'État | Gestion automatique de l'état des contrôles. | Gestion manuelle de l'état. |
Prise en charge du TDD | TDD faible ou personnalisé requis. | Encourage et inclut TDD ! |
38) Comment afficher quelque chose dans CodeIgniter ?
Voici un code pour afficher quelque chose dans 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) Écrivez un code pour démontrer le modèle, la vue et le contrôleur dans CodeIgniter.
Voici un code pour démontrer le modèle, la vue et le contrôleur dans CodeIgniter :
Ouvrez le fichier Welcome.php contrôleur situé application/controllers :
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Mettez à jour l'index comme suit :
public function index() { $this->load->model('customers_model'); $data['customer'] = $this->customers_model->get_customer(3); $this->load->view('welcome_message',$data); }
Écrivez le code suivant dans customer_model.php dans 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; } }
Ouvrez le fichierwelwel_message.php situé dans
application/views/welcome_message.php
Remplacez le code par ce qui suit
<!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) Pouvez-vous créer une application Web avec à la fois des formulaires Web et MVC ?
Oui. Vous devez inclure les références d'assembly MVC ci-dessous dans l'application de formulaires Web pour créer une application hybride.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) Comment pouvez-vous attribuer un nom d'alias pour l'action de l'API Web ASP.NET ?
Nous pouvons donner un nom d'alias pour l'action de l'API Web comme dans le cas d'ASP.NET MVC en utilisant l'attribut « ActionName » comme suit :
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
42) Quelle est la principale différence entre MVC et WebAPI ?
Voici la principale différence entre MVC et WebAPI :
Le framework MVC est utilisé pour développer des applications dotées d’une interface utilisateur. Pour cela, les vues peuvent être utilisées pour créer une interface utilisateur.
WebAPI est utilisé pour développer des services HTTP. D'autres applications peuvent également être appelées méthodes WebAPI pour récupérer ces données.
43) Comment pouvez-vous vous assurer que l'API Web renvoie uniquement des données JSON ?
Pour que l'API Web sérialise l'objet renvoyé au format JSON et renvoie uniquement les données JSON. Pour cela, vous devez ajouter le code suivant dans la classe WebApiConfig.cs dans n'importe quel projet d'API Web MVC :
//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) Quelle est la différence entre MVVM et MVC ?
Voici les différences importantes entre MVVM et MVC :
MVC | MVVM |
---|---|
Un contrôleur est le point d’entrée de l’application. | La Vue est le point d'entrée de l'Application. |
Une à plusieurs relations entre le contrôleur et la vue. | Une à plusieurs relations entre View et View Model. |
La vue n'a pas de référence au contrôleur | View a des références au View-Model. |
MVC est un ancien modèle | MVVM est un modèle relativement nouveau. |
Difficile de lire, modifier, tester unitairement et réutiliser ce modèle | Le processus de débogage sera compliqué lorsque nous aurons des liaisons de données complexes. |
Le composant du modèle MVC peut être testé séparément de l'utilisateur | Facile pour les tests unitaires séparés et le code est piloté par les événements. |
45) Qu'est-ce que MVC dans AngularJS ?
Angular.js suit l'architecture MVC, le schéma du framework MVC est présenté ci-dessous.
- Le contrôleur représente la couche qui possède la logique métier. Les événements utilisateur déclenchent les fonctions stockées dans votre contrôleur. Les événements utilisateur font partie du contrôleur.
- Les vues sont utilisées pour représenter la couche de présentation qui est fournie aux utilisateurs finaux.
- Les modèles sont utilisés pour représenter vos données. Les données de votre modèle peuvent être aussi simples que de simples déclarations primitives. Par exemple, si vous gérez une candidature d'étudiant, votre modèle de données peut simplement contenir un identifiant d'étudiant et un nom. Cela peut également être complexe en disposant d'un modèle de données structuré. Si vous gérez une demande de propriété de voiture, vous pouvez disposer de structures pour définir le véhicule lui-même en termes de cylindrée, de nombre de sièges, etc.
46) Quel est le rôle de MVC dans AngularJS ?
Voici une définition simple du fonctionnement du contrôleur AngularJS.
- La responsabilité principale du contrôleur est de contrôler les données transmises à la vue. La portée et la vue ont une communication bidirectionnelle.
- Les propriétés de la vue peuvent appeler des « fonctions » sur la portée. De plus, les événements sur la vue peuvent appeler des « méthodes » sur la portée. L'extrait de code ci-dessous donne un exemple simple de fonction.
- La fonction ($ scope) qui est définie lors de la définition du contrôleur et une fonction interne qui est utilisée pour renvoyer la concaténation de $ scope.firstName et $ scope.lastName.
- Dans AngularJS, lorsque vous définissez une fonction en tant que variable, elle est appelée méthode.
- Les données passent ainsi du contrôleur à la portée, puis passent de la portée à la vue.
- La portée est utilisée pour exposer le modèle à la vue. Le modèle peut être modifié via des méthodes définies dans le scope, qui pourraient être déclenchées via des événements de la vue. Nous pouvons définir une liaison de modèle bidirectionnelle de la portée au modèle.
- Idéalement, les contrôleurs ne devraient pas être utilisés pour manipuler le DOM. Cela devrait être fait par les directives, que nous verrons plus tard.
- La meilleure pratique consiste à disposer de contrôleurs basés sur les fonctionnalités. Par exemple, si vous disposez d'un formulaire de saisie et que vous avez besoin d'un contrôleur pour cela, créez un contrôleur appelé « contrôleur de formulaire ».
47) Comment créer un contrôleur de base dans AngularJS
L'extrait de code ci-dessous est une simple page HTML portant le titre « Inscription à un événement » et contenant des références à des bibliothèques importantes telles que Bootstrap, jquery et angulaire.
- Nous ajoutons des références aux feuilles de style CSS bootstrap, qui seront utilisées conjointement avec les bibliothèques bootstrap.
- Nous ajoutons des références aux bibliothèques AngularJS. Alors maintenant, tout ce que nous ferons avec angulaire.js à l'avenir sera référencé à partir de cette bibliothèque.
- Nous ajoutons des références à la bibliothèque bootstrap pour rendre notre page Web plus réactive pour certains contrôles.
- Nous avons ajouté des références aux bibliothèques jquery qui seront utilisées pour la manipulation du DOM. Ceci est requis par Angular car certaines fonctionnalités d'Angular dépendent de cette bibliothèque.
Par défaut, l'extrait de code ci-dessus sera présent dans tous nos exemples afin que nous puissions afficher uniquement le code angulaire JS spécifique dans les sections suivantes.
Deuxièmement, regardons nos fichiers et leur structure que nous allons commencer avec notre cours :
- Tout d’abord, nous séparons nos fichiers en 2 dossiers comme cela se fait avec n’importe quelle application Web conventionnelle. Nous avons le dossier « CSS ». Il contiendra tous nos fichiers de feuilles de style en cascade, puis nous aurons notre dossier « lib », qui contiendra tous nos fichiers. Javascénario fichiers.
- Le fichier bootstrap.css est placé dans le dossier CSS et est utilisé pour ajouter une bonne apparence à notre site Web.
- Le fichier angulaire.js est notre fichier principal qui a été téléchargé depuis le site angulaireJS et conservé dans notre dossier lib.
- Le fichier app.js contiendra notre code pour les contrôleurs.
- Le fichier bootstrap.js est utilisé pour compléter le fichier bootstrap.cs pour ajouter la fonctionnalité bootstrap à notre application Web.
- Le fichier jquery sera utilisé pour ajouter une fonctionnalité de manipulation DOM à notre site.
Exemple d'utilisation d'angular.js :
Ce que nous voulons faire ici, c'est simplement afficher les mots « AngularJS » à la fois au format texte et dans une zone de texte lorsque la page est affichée dans le navigateur.
<!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) Quelle est l'utilisation de ng-controller dans les fichiers externes dans AngularJS
Effectuez les étapes suivantes pour utiliser ng-controller dans les fichiers externes dans AngularJS
Étape 1) Dans le fichier app.js, ajoutez le code suivant pour votre contrôleur
angular.module('app',[]).controller('HelloWorldCtrl',function($scope) { $scope.message = "Hello World" });
Étape 2) Maintenant, dans votre fichier Sample.html, ajoutez une classe div qui contiendra la directive ng-controller, puis ajoutez une référence à la variable membre « 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) Écrire du code pour définir des méthodes dans AngularJS Controller ?
Voici un code pour définir les méthodes dans AngularJS Controller :
<!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) Écrivez du code à l'aide de ng-model pour afficher le contrôle d'entrée multiligne dans AngularJS.
Voici un code utilisant ng-model pour afficher le contrôle d'entrée multiligne dans 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) Écrivez du code pour démontrer l'utilisation des éléments d'entrée.
Voici un exemple de code utilisant des éléments d'entrée 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) Comment créer un modèle en PHP ?
Voici un code pour créer un modèle en 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) Pourquoi utiliser le framework PHP MVC ?
Vous devez utiliser PHP MVC Framework car il simplifie le travail avec des technologies complexes en :
- Masquer tous les détails complexes de mise en œuvre
- Fournir des méthodes standard que nous pouvons utiliser pour créer nos applications.
- Augmentation de la productivité des développeurs, car la mise en œuvre de base des activités telles que la connexion à la base de données, la désinfection des entrées utilisateur, etc., est déjà partiellement mise en œuvre.
- Adhésion aux normes de codage professionnelles
54) Quels sont les frameworks PHP MVC populaires ?
Voici les frameworks PHP MVC populaires :
CodeIgniter : C'est l'un des frameworks PHP MVC les plus populaires. Il est léger et sa courbe d'apprentissage est courte. Il dispose d'un riche ensemble de bibliothèques qui permettent de créer rapidement des sites Web et des applications. Les utilisateurs ayant une connaissance limitée de la programmation POO peuvent également l'utiliser.
Cohana : Il s'agit d'un contrôleur de vue de modèle hiérarchique HMVC qui est un cadre sécurisé et léger. Il dispose d'un riche ensemble de composants permettant de développer rapidement des applications.
CakePHP : Il est calqué sur Ruby on rails. Il est connu pour des concepts tels que les modèles de conception de logiciels, les conventions de configuration, ActiveRecord, etc.
Zend : Il s’agit d’un cadre puissant ;
- Sécurisé, fiable, rapide et évolutif
- Prend en charge le Web 2.0 et la création de services Web.
Il propose des API de fournisseurs tels que Amazon, Google, Flickr, Yahoo, etc. Il est idéal pour développer des applications métiers.
55) Comment créer des vues en PHP ?
Voici un code pour créer des vues en 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>
Créons maintenant la page de résultats 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>
Ces questions d'entretien vous aideront également dans votre soutenance