Top 55 MVC-interviewspørgsmål og -svar (PDF)

Her er MVC-samtalespørgsmål til friskere såvel som erfarne kandidater til at få deres drømmejob.

 

MVC-interviewspørgsmål og svar til nybegyndere

1) Hvad er Model-View-Controller?

MVC er et softwarearkitekturmønster til udvikling af webapplikationer. Det håndteres af tre objekter, Model, View og Controller.

👉 Gratis PDF-download: MVC-interviewspørgsmål og -svar


2) Hvad repræsenterer Model-View-Controller i en MVC-applikation?

I en MVC-model,

  • Model– Det repræsenterer applikationsdatadomænet. Med andre ord er en applikations forretningslogik indeholdt i modellen og er ansvarlig for at vedligeholde data.
  • Specifikation– Det repræsenterer den brugergrænseflade, som slutbrugerne kommunikerer med. Kort sagt er al brugergrænsefladelogikken indeholdt i View.
  • Controller- Det er controlleren, der svarer på brugerens handlinger. Baseret på brugerhandlingerne reagerer den respektive controller i modellen og vælger en visning, der skal vise brugergrænsefladen. Brugerinputlogikken er indeholdt i controlleren.

3) Navngiv den samling, der skal definere MVC

MVC Framework er defineret i System.Web.Mvc assembly.


4) Hvad er de forskellige returtyper af en controllerhandlingsmetode

Her er forskellige returtyper af en controllerhandlingsmetode:

  • Vis resultat
  • JavaScript resultat
  • Omdirigeringsresultat
  • JSON-resultat
  • Indholdsresultat

5) Hvad er forskellen mellem at tilføje ruter til en webformapplikation og en MVC-applikation?

For at tilføje ruter til en webformapplikation bruger vi MapPageRoute()-metoden i RouteCollection-klassen, mens vi bruger MapRoute()-metoden til at tilføje ruter til en MVC-applikation.


6) Hvad er de to måder at tilføje begrænsninger til en rute?

De to metoder til at tilføje begrænsninger til en rute er

  • Brug regulære udtryk
  • Brug et objekt, der implementerer IRouteConstraint Interface

7) Hvad er fordelene ved MVC?

  • MVC adskiller dit projekt i et andet segment, og det bliver nemt for udviklere at arbejde på
  • Det er nemt at redigere eller ændre en del af dit projekt, som gavner mindre udviklings- og vedligeholdelsesomkostninger af projektet
  • MVC gør dit projekt mere systematisk
  • Det repræsenterer en klar adskillelse mellem forretningslogik og præsentationslogik
  • Hvert MVC-objekt har forskellige ansvarsområder
  • Udviklingen skrider sideløbende frem
  • Nem at administrere og vedligeholde
  • Alle klasser og objekter er uafhængige af hinanden

8) Hvilke funktioner "beforeFilter()","beforeRender" og "afterFilter" gør i Controller?

  • førFilter(): Denne funktion kører før hver handling i controlleren. Det er det rigtige sted at tjekke for en aktiv session eller inspicere brugertilladelser.
  • førRender(): Denne funktion kaldes efter controllerens handlingslogik, men før visningen gengives. Denne funktion bruges ikke ofte, men kan være påkrævet, hvis du kalder render() manuelt før afslutningen af ​​en given handling.
  • efterFilter(): Denne funktion kaldes efter hver controllerhandling og efter gengivelse er udført. Det er den sidste controller-metode, der skal køres.

9) Hvilken rolle spiller komponenter Præsentation, Abstraktion og Kontrol i MVC?

Her er rollen for komponenter Præsentation, Abstraktion og Kontrol i MVC:

  • Præsentation: Det er den visuelle repræsentation af en specifik abstraktion i applikationen
  • Abstraktion: Det er forretningsdomænets funktionalitet i applikationen
  • Kontrol: Det er en komponent, der holder overensstemmelse mellem abstraktionen i systemet og deres præsentation for brugeren ud over at kommunikere med andre kontroller i systemet

10) Hvad er ulemperne ved MVC-modellen?

Her er nogle vigtige ulemper ved MVC-modellen:

  • Modelmønsteret er lidt komplekst.
  • Ineffektivitet af dataadgang i udsigt.
  • Med en moderne brugergrænseflade er det svært at bruge MVC.
  • Du har brug for flere programmører til parallel udvikling.
  • Mange teknologiske viden er påkrævet.

11) Hvilken rolle spiller "ActionFilters" i MVC?

I MVC hjælper "ActionFilters" dig med at udføre logik, mens MVC-handling udføres eller udføres.


12) Hvad er trinene for udførelsen af ​​et MVC-projekt?

Trinene til udførelse af et MVC-projekt omfatter:

  • Modtag den første anmodning om ansøgningen
  • Udfør routing
  • Opret en MVC-anmodningshåndtering
  • Opret controller
  • Udfør controller
  • Påkald handling
  • Udfør resultat

13) Hvad er routing og tre segmenter?

Routing hjælper dig med at bestemme en URL-struktur og kortlægge URL'en med controlleren.

De tre segmenter, der er vigtige for routing, er:

  • Controllernavn
  • ActionMethodName
  • Parameter

14) Hvordan routing udføres i MVC-mønsteret?

Der er en gruppe ruter kaldet RouteCollection, som består af registrerede ruter i applikationen. RegisterRoutes-metoden registrerer ruterne i denne samling. En rute definerer et URL-mønster og en handler, der skal bruges, hvis anmodningen matcher mønsteret.

Den første parameter til MapRoute-metoden er navnet på ruten. Den anden parameter vil være det mønster, som URL'en matcher. Den tredje parameter kan være standardværdierne for pladsholderne, hvis de ikke bestemmes.


15) Hvordan kan du navigere fra en visning til en anden visning ved hjælp af et hyperlink?

Ved at bruge "ActionLink" metode som vist i nedenstående kode. Nedenstående kode vil lave en simpel URL, der hjælper med at navigere til "Hjem"-controlleren og påkalde "GotoHome"-handlingen.

Skjul/Kopiér kode

<%= Html.ActionLink("Home", "Gotohome") %>

MVC Interview Spørgsmål og Svar til Erfarne

16) Hvordan vedligeholdes sessioner i MVC?

Sessioner kan vedligeholdes i MVC på tre måder: tempdata, viewdata og viewbag.


17) Hvad er forskellen mellem Temp data, View data og View Bag?

  • Temp data: Det hjælper med at vedligeholde data, når du skifter fra en controller til en anden.
  • Se data: Det hjælper med at vedligeholde data, når du flytter fra controller til visning.
  • Se taske: Det er en dynamisk indpakning omkring visningsdata.

18) Hvad er en delvis visning i MVC?

Delvis visning i MVC gengiver en del af visningsindholdet. Det er nyttigt til at reducere kodeduplikering. Enkelt sagt tillader den delvise visning at gengive en visning i den overordnede visning.


19) Hvordan kan du implementere Ajax i MVC?

I MVC kan Ajax implementeres på to måder

  • Ajax biblioteker
  • jquery

20) Hvad er forskellen mellem "ActionResult" og "ViewResult"?

"ActionResult" er en abstrakt klasse, mens "ViewResult" er afledt af "AbstractResult"-klassen. "ActionResult" har en række afledte klasser som "JsonResult", "FileStreamResult" og "ViewResult".

"ActionResult" er bedst, hvis du udleder forskellige typer visninger dynamisk.


21) Hvordan kan du sende resultatet tilbage i JSON-format i MVC?

For at sende resultatet tilbage i JSON-format i MVC, kan du bruge klassen "JSONRESULT".


22) Hvad er forskellen mellem visning og delvis visning?

Her er forskellen mellem View og Partial View

Specifikation Delvis udsigt
Den indeholder layoutsiden Den indeholder ikke layoutsiden
Før en visning gengives, gengives visningsstartsiden Delvis visning verificerer ikke for en viewstart.cshtml. Vi kan ikke indsætte fælles kode for en delvis visning på viewStart.cshtml.siden
Visningen kan have markup-tags som body, html, head, title, meta osv. Delvis visning er designet specielt til at gengive i visningen, og netop derfor består den ikke af nogen markering
View er ikke let i forhold til delvis visning Vi kan sende en almindelig visning til RenderPartial-metoden

23) Hvilke typer resultater er der i MVC?

I MVC er der tolv typer resultater, hvor "ActionResult"-klassen er hovedklassen, mens de 11 er deres undertyper:

  • Vis Resultat
  • Delvis visningsresultat
  • Tomt Resultat
  • Omdirigeringsresultat
  • RedirectToRouteResult
  • JsonResultat
  • JavaScriptResultat
  • Indholdsresultat
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Hvad er vigtigheden af ​​NonActionAttribute?

Alle offentlige metoder i en controllerklasse behandles som handlingsmetoden, hvis du vil forhindre denne standardmetode, så skal du tildele den offentlige metode med NonActionAttribute.


25) Hvad er brugen af ​​standardruten {resource}.axd/{*pathinfo}?

Standardruten forhindrer anmodninger om en webressourcefil såsom Webresource.axd eller ScriptResource.axd i at blive sendt til controlleren.


26) Hvad er rækkefølgen af ​​de filtre, der bliver udført, hvis flere filtre er implementeret?

Filterrækkefølgen ville være som:

  • Autorisationsfiltre
  • Handlingsfiltre
  • Responsfiltre
  • Undtagelsesfiltre

27) Hvilke ASP.NET-filtre udføres i sidste ende?

Til sidst udføres "Undtagelsesfiltre".


28) Hvad er filtypenavnene for razor views?

For barberbladsvisninger er filtypenavnene

  • .cshtml: Hvis C# er programmeringssproget
  • .vbhtml: Hvis VB er programmeringssproget

29) Hvad er de to måder, hvorpå man kan tilføje begrænsninger til en rute?

To metoder til at tilføje begrænsninger til ruten er:

  • Brug af regulære udtryk
  • Brug af et objekt, der implementerer IRouteConstraint-grænsefladen

30) Hvad er to tilfælde, hvor routing ikke er implementeret eller påkrævet?

To tilfælde, hvor routing ikke er påkrævet, er

  • Når der findes en fysisk fil, der matcher URL-mønsteret
  • Når routing er deaktiveret for et URL-mønster

MVC interviewspørgsmål for 5 års erfaring

31) Hvad er egenskaberne ved MVC?

Her er funktionerne i MVC:

  • Nem og friktionsfri testbarhed. Meget testbar, udvidelsesbar og pluggbar ramme.
  • Tilbyder fuld kontrol over din HTML såvel som dine URL'er
  • Udnytter eksisterende funktioner leveret af ASP.NET, JSP, Django osv.
  • Klar adskillelse af logik: Model, View, Controller. Adskillelse af applikationsopgaver via forretningslogik, Ul-logik og inputlogik.
  • URL-routing til SEO-venlige URL'er. Kraftig URL-mapping til forståelige og søgbare URL'er.
  • Support til Test Driven Development (TDD).

32) Hvad er de virkelige eksempler på MVC?

Her er et virkeligt eksempel på MVC:

  • Lad os antage, at du går på restaurant. Du vil ikke gå i køkkenet og tilberede mad, som du helt sikkert kan lave hjemme hos dig. I stedet går du bare derned og venter på, at tjeneren kommer på.
  • Nu kommer tjeneren til dig, og du bestiller bare maden. Tjeneren ved ikke, hvem du er, og hvad du vil have, han skrev bare detaljerne i din madbestilling ned.
  • Så går tjeneren ud i køkkenet. I køkkenet tilbereder tjeneren ikke din mad.
  • Kokken tilbereder din mad. Tjeneren får din ordre sammen med dit bordnummer.
  • Cook tilbereder derefter mad til dig. Han bruger ingredienser til at lave maden. Lad os antage, at du har bestilt en grøntsagssandwich. Så har han brug for brød, tomat, kartoffel, paprika, løg, bit, ost osv., som kommer fra køleskabet
  • Cook afleverer endelig maden til tjeneren. Nu er det tjenerens opgave at flytte denne mad uden for køkkenet.
  • Nu ved tjeneren, hvilken mad du har bestilt, og hvordan den serveres.

I dette tilfælde,

View= You
Waiter= Controller
Cook= Model
Refrigerator= Data

33) Hvad er forskellen mellem 3-tier Architecture og MVC Archilære?

Her er forskellen mellem 3-tier Architecture og MVC Archilære:

Parameter 3-Tier Architecture MVC Architecture
Kommunikation Denne type arkitekturmønster kommunikerer aldrig direkte med datalaget. Alle lag kommunikerer direkte ved hjælp af trekanttopologi.
Brug 3-tier: Udbredt i webapplikationer, hvor klienten, data-tiers og middleware kører på fysisk adskilte platforme. Anvendes generelt på applikationer, der kører på en enkelt grafisk arbejdsstation.

34) Hvordan kan du bruge MVC-arkitektur i JSP?

Følgende eksempel viser brugen af ​​MVC-arkitektur i JSP:

  • Vi tager eksemplet med en formular med to variable, "e-mail" og "adgangskode", som er vores visningslag.
  • Når brugeren indtaster e-mail og adgangskode og klikker på send, så sendes handlingen i mvc_servlet, hvor e-mail og adgangskode sendes.
  • Denne mvc_servlet er controller-lag. Her i mvc_servlet sendes anmodningen til bønneobjektet, der fungerer som et modellag.
  • E-mail- og adgangskodeværdierne sættes i bønnen og gemmes til yderligere formål.
  • Fra bønnen hentes værdien og vises i visningslaget.

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) Hvordan fungerer MVC i foråret?

Sådan fungerer MVC i foråret:

  • DispatcherServlet modtager en anmodning.
  • Derefter kommunikerer DispatcherServlet med HandlerMapping. Det tilbagekalder også den controller, der er knyttet til den specifikke anmodning.
  • Controlleren behandler denne anmodning ved at kalde servicemetoderne, og et ModelAndView-objekt returneres af DispatcherServlet.
  • Visningsnavnet sendes til en ViewResolver for at finde den faktiske View, der skal aktiveres.
  • Derefter sendes DispatcherServlet til View for at gengive resultatet.
  • Ved at bruge modeldataene gengiver og sender visningen resultatet tilbage til brugeren.

36) Hvad er de vigtige punkter at huske, når du opretter en MVC-applikation?

Her er nogle vigtige punkter, du skal huske, når du opretter en MVC-applikation:

  • Du skal huske, at ASP.net MVC ikke er en erstatning for ASP.Net webformularbaserede applikationer
  • Fremgangsmåden for MVC-appudvikling skal besluttes baseret på applikationskravene og funktionerne, der leveres af ASP.net MVC, for at passe til de specifikke udviklingsbehov.
  • Applikationsudviklingsprocessen med ASP.NET MVC er mere kompleks sammenlignet med webformularbaserede applikationer.
  • Applikationsvedligeholdelse er altid højere med adskillelsen af ​​applikationsopgaver.

37) Hvad er forskellen mellem webformularer og MVC?

Her er forskellen mellem webformularer og MVC:

Driftsparametre Webformularer MVC
Model Asp.Net Web Forms følger begivenhedsdrevet udviklingsmodel. Asp.Net MVC bruger MVC-mønsterbaseret udviklingsmodel.
Brugt siden Har eksisteret siden 2002 Den blev udgivet første gang i 2009
Understøttelse af visningstilstand Asp.Net Web Forms understøtter visningstilstand for tilstandsstyring på klientsiden. .Net MVC understøtter ikke visningstilstand.
URL-type Asp.Net Web Forms har filbaserede URL'er. Det betyder, at filnavnet findes i URL'erne, og de skal eksistere fysisk. Asp.Net MVC har rutebaserede URL'er, der betyder, at URL'er omdirigeres til controllere og handlinger.
Syntaks Asp.Net MVC følger webformularsyntaks. Asp.Net MVC følger den brugerdefinerbare syntaks.
Vis type Webformularvisninger er tæt koblet til Code behind(ASPX-CS), dvs. logik. MVC-visninger og logik holdes altid adskilt.
Konsekvent udseende og fornemmelse Den har mastersider for et ensartet udseende. Asp.Net MVC har layouts for et ensartet udseende.
Kode Genanvendelighed Webformularer tilbyder brugerkontroller til genbrug af kode. Asp.Net MVC tilbyder delvise visninger for genbrug af kode.
Kontrol til HTML Less kontrol over gengivet HTML. Fuld kontrol over HTML
Statens ledelse Automatisk tilstandsstyring af kontroller. Manuel tilstandsstyring.
TDD support Svag eller tilpasset TDD påkrævet. Opmuntrer og inkluderer TDD!

38) Hvordan kan du vise noget i CodeIgniter?

Her er en kode til at vise noget i 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) Skriv en kode for at demonstrere Model, View og Controller i CodeIgniter.

Her er en kode til at demonstrere Model, View og Controller i CodeIgniter:

Åbn filen Welcome.php controller placeret applikation/controllere:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {
    public function index()
    {
        $this->load->view('welcome_message');
    }
}

Opdater indekset som følger:

public function index()
    {
            $this->load->model('customers_model');

            $data['customer'] = $this->customers_model->get_customer(3);

            $this->load->view('welcome_message',$data);
    }

Skriv følgende kode i customer_model.php i 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;
    }
}

Åbn welcome_message.php placeret i

application/views/welcome_message.php

Udskift koden med følgende

<!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) Kan du oprette en webapplikation med både webformularer og MVC?

Ja. Du skal inkludere nedenstående MVC-samlingsreferencer i webformularapplikationen for at oprette en hybridapplikation.

System.Web.Mvc
System.Web.Razor
System.ComponentModel.DataAnnotations

41) Hvordan kan du tildele et aliasnavn til ASP.NET Web API Action?

Vi kan give aliasnavn for Web API-handling på samme måde som i tilfælde af ASP.NET MVC ved at bruge "ActionName"-attributten som følger:

[HttpPost]

[ActionName("SaveStudentInfo")]

public void UpdateStudent(Student aStudent)
{
StudentRepository.AddStudent(aStudent);
}

42) Hvad er den største forskel mellem MVC og WebAPI?

Her er den største forskel mellem MVC og WebAPI:

MVC framework bruges til at udvikle applikationer, der har en brugergrænseflade. Til det kan visninger bruges til at bygge en brugergrænseflade.

WebAPI bruges til at udvikle HTTP-tjenester. Andre apps kan også kaldes WebAPI-metoderne til at hente disse data.


43) Hvordan kan du sikre, at Web API kun returnerer JSON-data?

For at få Web API til at serialisere det returnerende objekt til JSON-format og kun returnere JSON-data. Til det skal du tilføje følgende kode i WebApiConfig.cs-klassen i ethvert MVC Web API-projekt:

//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) Hvad er forskellen mellem MVVM og MVC?

Her er de vigtige forskelle mellem MVVM og MVC:

MVC MVVM
En controller er indgangen til applikationen. Visningen er indgangspunktet til applikationen.
Et til mange forhold mellem Controller & View. Et til mange forhold mellem View & View Model.
View har ikke reference til controlleren View har referencer til View-Modellen.
MVC er gammel model MVVM er en forholdsvis ny model.
Svært at læse, ændre, at enhedsteste og genbruge denne model Fejlretningsprocessen vil være kompliceret, når vi har komplekse databindinger.
MVC Model komponent kan testes separat fra brugeren Nem til separat enhedstestning, og koden er hændelsesdrevet.

45) Hvad er MVC i AngularJS?

Angular.js følger MVC-arkitekturen, diagrammet over MVC-rammeværket er vist nedenfor.

  • Controlleren repræsenterer det lag, der har forretningslogikken. Brugerhændelser udløser de funktioner, der er gemt inde i din controller. Brugerhændelserne er en del af controlleren.
  • Visninger bruges til at repræsentere præsentationslaget, som leveres til slutbrugerne.
  • Modeller bruges til at repræsentere dine data. Dataene i din model kan være så enkle som blot at have primitive erklæringer. For eksempel, hvis du vedligeholder en elevapplikation, kan din datamodel blot have et elev-id og et navn. Eller det kan også være komplekst ved at have en struktureret datamodel. Hvis du vedligeholder en ansøgning om bilejerskab, kan du have strukturer til at definere selve køretøjet med hensyn til dets motorkapacitet, sædekapacitet osv.

46) Hvad er MVC's rolle i AngularJS?

Følgende er en simpel definition af AngularJS-controllerens funktion.

  • Den dataansvarliges primære ansvar er at kontrollere de data, der videregives til visningen. Omfanget og udsigten har tovejskommunikation.
  • Visningens egenskaber kan kalde "funktioner" på skopet. Desuden kan begivenheder på visningen kalde "metoder" på omfanget. Nedenstående kodestykke giver et simpelt eksempel på en funktion.
    • Funktionen($scope), som defineres ved definition af controlleren og en intern funktion, som bruges til at returnere sammenkædningen af ​​$scope.firstName og $scope.lastName.
    • I AngularJS, når du definerer en funktion som en variabel, er den kendt som en metode.

  • Data går på denne måde fra den registeransvarlige til scopet, og derefter går dataene frem og tilbage fra scopet til visningen.
  • Omfanget bruges til at eksponere modellen for udsigten. Modellen kan modificeres via metoder defineret i scopet, som kan udløses via hændelser fra visningen. Vi kan definere to-vejs modelbinding fra omfanget til modellen.
  • Controllere bør ideelt set ikke bruges til at manipulere DOM. Dette bør ske i henhold til direktiverne, som vi vil se senere.
  • Den bedste praksis er at have controllere baseret på funktionalitet. For eksempel, hvis du har en formular til input, og du har brug for en controller til det, skal du oprette en controller kaldet "form controller".

47) Hvordan man bygger en grundlæggende controller i AngularJS

Nedenstående kodestykke er en simpel HTML-side, der har titlen "Begivenhedsregistrering" og har referencer til vigtige biblioteker som f.eks. Bootstrap, jquery og Angular.

  1. Vi tilføjer referencer til bootstrap CSS stylesheets, som vil blive brugt sammen med bootstrap-bibliotekerne.
  2. Vi tilføjer referencer til AngularJS-bibliotekerne. Så nu, hvad end vi gør med angular.js fremover vil blive refereret fra dette bibliotek.
  3. Vi tilføjer referencer til bootstrap-biblioteket for at gøre vores webside mere responsiv for visse kontroller.
  4. Vi har tilføjet referencer til jquery-biblioteker, som vil blive brugt til DOM-manipulation. Dette er påkrævet af Angular, fordi noget af funktionaliteten i Angular er afhængig af dette bibliotek.

Som standard vil ovenstående kodestykke være til stede i alle vores eksempler, så vi kun kan vise den specifikke angularJS-kode i de efterfølgende sektioner.

For det andet, lad os se på vores filer og filstruktur, som vi skal starte med vores kursus:

  1. Først adskiller vi vores filer i 2 mapper, som det gøres med enhver konventionel webapplikation. Vi har mappen "CSS". Det vil indeholde alle vores cascading style sheet filer, og så vil vi have vores "lib" mappe, som vil have alle vores JavaScript filer.
  2. Bootstrap.css-filen placeres i CSS-mappen, og den bruges til at tilføje et godt udseende til vores hjemmeside.
  3. angular.js er vores hovedfil, som blev downloadet fra angularJS-webstedet og opbevaret i vores lib-mappe.
  4. App.js-filen vil indeholde vores kode til controllerne.
  5. Bootstrap.js-filen bruges til at supplere bootstrap.cs-filen for at tilføje bootstrap-funktionalitet til vores webapplikation.
  6. Jquery-filen vil blive brugt til at tilføje DOM-manipulationsfunktionalitet til vores side.

Eksempel på brug af angular.js:

Det, vi vil gøre her, er blot at vise ordene "AngularJS" i både tekstformat og i en tekstboks, når siden vises i browseren.

<!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) Hvad er brugen af ​​ng-controller i eksterne filer i AngularJS

Udfør følgende trin for at bruge ng-controller i eksterne filer i AngularJS

Trin 1) Tilføj følgende kode til din controller i app.js-filen

angular.module('app',[]).controller('HelloWorldCtrl',function($scope)
{
    $scope.message = "Hello World"
});

Trin 2) Tilføj nu en div-klasse i din Sample.html-fil, der vil indeholde ng-controller-direktivet, og tilføj derefter en reference til medlemsvariablen "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) Skriv kode til at definere metoder i AngularJS Controller?

Her er en kode til at definere metoder i 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) Skriv kode ved hjælp af ng-model for at vise multi-line input kontrol i AngularJS.

Her er en kode, der bruger ng-model til at vise multi-line input kontrol i 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>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
    <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) Skriv kode for at demonstrere brugen af ​​input-elementer.

Her er et kodeeksempel, der bruger AngulaJS input-elementer:

<!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>
        &nbsp;&nbsp;&nbsp;Topic Description:<br> <br>
        &nbsp;&nbsp;&nbsp;
         
        Name : <input type="text" ng-model="pname"><br>
        &nbsp;&nbsp;&nbsp;
        Topic : <br>&nbsp;&nbsp;&nbsp;
        <input type="checkbox" ng-model="Topic.Controller">Controller<br>&nbsp;&nbsp;&nbsp;
        <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) Hvordan kan du oprette en model i PHP?

Her er en kode til at oprette model i 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) Hvorfor bruge PHP MVC Framework?

Du bør bruge PHP MVC Framework, fordi det forenkler arbejdet med komplekse teknologier ved at:

  • Skjul alle de komplekse implementeringsdetaljer
  • Leverer standardmetoder, som vi kan bruge til at bygge vores applikationer.
  • Øget udviklerproduktivitet, dette skyldes, at basisimplementeringen af ​​aktiviteter såsom at oprette forbindelse til databasen, rense brugerinput osv., allerede er delvist implementeret.
  • Overholdelse af professionelle kodningsstandarder

54) Hvad er populære PHP MVC-frameworks?

Her er populære PHP MVC-rammer:

CodeIgniter: Det er en af ​​de mest populære PHP MVC-frameworks. Den er let og har en kort indlæringskurve. Det har et rigt sæt af biblioteker, der hjælper med at bygge websteder og applikationer hurtigt. Brugere med begrænset kendskab til OOP-programmering kan også bruge det.

Kohana: Det er en Hierarchical Model View Controller HMVC, der er en sikker og let ramme. Den har et rigt sæt komponenter til hurtig udvikling af applikationer.

KagePHP: Den er modelleret efter Ruby on rails. Det er kendt for koncepter som softwaredesignmønstre, konvention over konfiguration, ActiveRecord osv.

Send: Det er en kraftfuld ramme, der er;

  • Sikker, pålidelig, hurtig og skalerbar
  • Understøtter Web 2.0 og oprettelse af webtjenester.

Den har API'er fra leverandører som AmazonGoogle, Flickr, Yahoo osv. Den er ideel til udvikling af forretningsapplikationer.


55) Hvordan kan du oprette visninger i PHP?

Her er en kode til at oprette visninger i 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>

Lad os nu oprette resultatsiden 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>

Disse interviewspørgsmål vil også hjælpe i din viva(orals)