Topp 55 MVC-intervjuspørsmål og -svar (PDF)
MVC-intervjuspørsmål og svar for ferskinger
1) Hva er Model-View-Controller?
MVC er et programvarearkitekturmønster for utvikling av webapplikasjoner. Den håndteres av tre objekter, Model, View og Controller.
👉 Gratis PDF-nedlasting: MVC-intervjuspørsmål og svar
2) Hva representerer Model-View-Controller i en MVC-applikasjon?
I en MVC-modell,
- Modell– Det representerer applikasjonsdatadomenet. Med andre ord er en applikasjons forretningslogikk inneholdt i modellen og er ansvarlig for å vedlikeholde data.
- Se– Det representerer brukergrensesnittet som sluttbrukere kommuniserer med. Kort sagt, all brukergrensesnittlogikken er inneholdt i View.
- Kontroller- Det er kontrolløren som svarer på brukerens handlinger. Basert på brukerhandlingene, svarer den respektive kontrolleren innenfor modellen og velger en visning som viser brukergrensesnittet som skal gjengis. Brukerinndatalogikken er inneholdt i kontrolleren.
3) Gi navn til sammenstillingen for å definere MVC
Ocuco MVC-rammeverk er definert i System.Web.Mvc-sammenstillingen.
4) Hva er de forskjellige returtypene for en kontrollerhandlingsmetode
Her er forskjellige returtyper for en kontrollerhandlingsmetode:
- Se resultatet
- JavaSkriptresultat
- Omdirigere resultat
- JSON-resultat
- Innholdsresultat
5) Hva er forskjellen mellom å legge til ruter til en nettskjemaapplikasjon og en MVC-applikasjon?
For å legge til ruter til en nettskjemaapplikasjon bruker vi MapPageRoute()-metoden i klassen RouteCollection, mens for å legge til ruter til en MVC-applikasjon bruker vi MapRoute()-metoden.
6) Hva er de to måtene å legge begrensninger til en rute på?
De to metodene for å legge begrensninger til en rute er
- Bruk regulære uttrykk
- Bruk et objekt som implementerer IRouteConstraint Interface
7) Hva er fordelene med MVC?
- MVC deler prosjektet inn i et annet segment, og det blir enkelt for utviklere å jobbe med
- Det er enkelt å redigere eller endre deler av prosjektet ditt som gir mindre utviklings- og vedlikeholdskostnader for prosjektet
- MVC gjør prosjektet ditt mer systematisk
- Det representerer et klart skille mellom forretningslogikk og presentasjonslogikk
- Hvert MVC-objekt har forskjellige ansvarsområder
- Utviklingen går parallelt
- Enkel å administrere og vedlikeholde
- Alle klasser og objekter er uavhengige av hverandre
8) Hvilke funksjoner "beforeFilter()","beforeRender" og "afterFilter" gjør i Controller?
- førFilter(): Denne funksjonen kjører før hver handling i kontrolleren. Det er det rette stedet å se etter en aktiv økt eller inspisere brukertillatelser.
- førRender(): Denne funksjonen kalles etter kontrollerens handlingslogikk, men før visningen gjengis. Denne funksjonen brukes ikke ofte, men kan være nødvendig hvis du kaller render() manuelt før slutten av en gitt handling.
- etterFilter(): Denne funksjonen kalles opp etter hver kontrollerhandling og etter at gjengivelsen er utført. Det er den siste kontrollermetoden som skal kjøres.
9) Hva er rollen til komponenter Presentasjon, Abstraksjon og Kontroll i MVC?
Her er rollen til komponentpresentasjon, abstraksjon og kontroll i MVC:
- Presentasjon: Det er den visuelle representasjonen av en spesifikk abstraksjon i applikasjonen
- Abstraksjon: Det er forretningsdomenefunksjonaliteten i applikasjonen
- Kontroll: Det er en komponent som holder konsistensen mellom abstraksjonen i systemet og deres presentasjon for brukeren i tillegg til å kommunisere med andre kontroller i systemet
10) Hva er ulempene med MVC-modellen?
Her er noen viktige ulemper med MVC-modellen:
- Modellmønsteret er litt komplekst.
- Ineffektivitet av datatilgang i sikte.
- Med et moderne brukergrensesnitt er det vanskelig å bruke MVC.
- Du trenger flere programmerere for parallell utvikling.
- Flere teknologikunnskaper kreves.
11) Hva er rollen til "ActionFilters" i MVC?
I MVC hjelper "ActionFilters" deg med å utføre logikk mens MVC-handlingen utføres eller den utføres.
12) Hva er trinnene for gjennomføring av et MVC-prosjekt?
Trinnene for gjennomføring av et MVC-prosjekt inkluderer:
- Motta den første forespørselen om søknaden
- Utfør ruting
- Opprett en MVC-forespørselsbehandler
- Opprett kontroller
- Utfør kontrolleren
- Påkalle handling
- Utfør resultat
13) Hva er ruting og tre segmenter?
Ruting hjelper deg med å bestemme en URL-struktur og kartlegge URL-en med kontrolleren.
De tre segmentene som er viktige for ruting er:
- Kontrollernavn
- ActionMethodName
- Parameter
14) Hvordan ruting gjøres i MVC-mønsteret?
Det er en gruppe ruter kalt RouteCollection, som består av registrerte ruter i applikasjonen. RegisterRoutes-metoden registrerer rutene i denne samlingen. En rute definerer et URL-mønster og en behandler som skal brukes hvis forespørselen samsvarer med mønsteret.
Den første parameteren til MapRoute-metoden er navnet på ruten. Den andre parameteren vil være mønsteret som URL-en samsvarer med. Den tredje parameteren kan være standardverdiene for plassholderne hvis de ikke er bestemt.
15) Hvordan kan du navigere fra en visning til en annen visning ved å bruke en hyperkobling?
Ved å bruke "ActionLink"-metoden som vist i koden nedenfor. Koden nedenfor vil lage en enkel URL som hjelper deg med å navigere til "Hjem"-kontrolleren og påkalle "GotoHome"-handlingen.
Skjul / kopier kode
<%= Html.ActionLink("Home", "Gotohome") %>
MVC-intervjuspørsmål og svar for erfarne
16) Hvordan vedlikeholdes økter i MVC?
Økter kan vedlikeholdes i MVC på tre måter: tempdata, viewdata og viewbag.
17) Hva er forskjellen mellom Temp data, View data og View Bag?
- Temp data: Det hjelper å vedlikeholde data når du skifter fra en kontroller til en annen.
- Se data: Det hjelper å vedlikeholde data når du går fra kontroller til visning.
- Se bag: Det er en dynamisk innpakning rundt visningsdata.
18) Hva er en delvis visning i MVC?
Delvis visning i MVC gjengir en del av visningsinnholdet. Det er nyttig for å redusere kodeduplisering. Enkelt sagt tillater den delvise visningen å gjengi en visning i den overordnede visningen.
19) Hvordan kan du implementere Ajax i MVC?
I MVC kan Ajax implementeres på to måter
- Ajax biblioteker
- Jquery
20) Hva er forskjellen mellom "ActionResult" og "ViewResult"?
"ActionResult" er en abstrakt klasse mens "ViewResult" er avledet fra "AbstractResult"-klassen. "ActionResult" har en rekke avledede klasser som "JsonResult", "FileStreamResult" og "ViewResult".
"ActionResult" er best hvis du utleder forskjellige typer visninger dynamisk.
21) Hvordan kan du sende resultatet tilbake i JSON-format i MVC?
For å sende resultatet tilbake i JSON-format i MVC, kan du bruke "JSONRESULT"-klassen.
22) Hva er forskjellen mellom visning og delvis visning?
Her er forskjellen mellom visning og delvis visning
Se | Delvis utsikt |
---|---|
Den inneholder layoutsiden | Den inneholder ikke layoutsiden |
Før en visning gjengis, gjengis visningsstartsiden | Delvis visning bekrefter ikke for en viewstart.cshtml. Vi kan ikke legge inn felles kode for en delvis visning på viewStart.cshtml.siden |
Visningen kan ha markup-tagger som body, html, head, title, meta osv. | Delvis visning er designet spesielt for å gjengi i visningen, og bare på grunn av det består den ikke av noen markering |
View er ikke lett sammenlignet med delvis visning | Vi kan sende en vanlig visning til RenderPartial-metoden |
23) Hva er typene resultater i MVC?
I MVC er det tolv typer resultater der "ActionResult"-klassen er hovedklassen mens de 11 er deres undertyper:
- Vis Resultat
- Delvis visningsresultat
- Tomt Resultat
- Omdirigeringsresultat
- RedirectToRouteResult
- JsonResult
- JavaSkriptresultat
- Innholdsresultat
- FileContentResult
- FileStreamResult
- FilePathResult
24) Hva er viktigheten av NonActionAttribute?
Alle offentlige metoder for en kontrollerklasse behandles som handlingsmetoden hvis du vil forhindre denne standardmetoden, så må du tilordne den offentlige metoden med NonActionAttribute.
25) Hva er bruken av standardruten {resource}.axd/{*pathinfo}?
Standardruten forhindrer at forespørsler om en nettressursfil som Webresource.axd eller ScriptResource.axd sendes til kontrolleren.
26) Hva er rekkefølgen på filtrene som blir utført, hvis flere filtre er implementert?
Filterrekkefølgen vil være slik:
- Autorisasjonsfiltre
- Handlingsfiltre
- Responsfiltre
- Unntaksfiltre
27) Hvilke ASP.NET-filtre kjøres til slutt?
Til slutt blir "Unntaksfiltre" utført.
28) Hva er filtypene for barberhøvelvisninger?
For barberhøvelvisninger er filtypene
- .cshtml: Hvis C# er programmeringsspråket
- .vbhtml: Hvis VB er programmeringsspråket
29) Hva er de to måtene å legge til begrensninger på en rute?
To metoder for å legge begrensninger til ruten er:
- Bruke regulære uttrykk
- Bruke et objekt som implementerer IRouteConstraint-grensesnitt
30) Hva er to tilfeller der ruting ikke er implementert eller nødvendig?
To tilfeller der ruting ikke er nødvendig er
- Når en fysisk fil blir funnet som samsvarer med URL-mønsteret
- Når ruting er deaktivert for et URL-mønster
MVC-intervjuspørsmål for 5 års erfaring
31) Hva er funksjonene til MVC?
Her er funksjonene til MVC:
- Enkel og friksjonsfri testbarhet. Svært testbart, utvidbart og pluggbart rammeverk.
- Tilbyr full kontroll over HTML-en din og nettadressene dine
- Utnytter eksisterende funksjoner levert av ASP.NET, JSP, Django, etc.
- Tydelig separasjon av logikk: Modell, View, Controller. Separasjon av applikasjonsoppgaver via forretningslogikk, Ul-logikk og inngangslogikk.
- URL-ruting for SEO-vennlige URL-er. Kraftig URL-kartlegging for forståelige og søkbare URL-er.
- Støtte for testdrevet utvikling (TDD).
32) Hva er de virkelige eksemplene på MVC?
Her er et virkelighetseksempel på MVC:
- La oss anta at du går på restaurant. Du vil ikke gå på kjøkkenet og lage mat som du sikkert kan gjøre hjemme hos deg. I stedet går du bare dit og venter på at servitøren skal komme på.
- Nå kommer servitøren til deg, og du bestiller bare maten. Servitøren vet ikke hvem du er og hva du vil ha, han skrev bare ned detaljene i matbestillingen din.
- Så går kelneren til kjøkkenet. På kjøkkenet lager ikke servitøren maten din.
- Kokken lager maten din. Servitøren får bestillingen din sammen med bordnummeret ditt.
- Cook lager deretter mat til deg. Han bruker råvarer til å lage maten. La oss anta at du har bestilt en grønnsakssmørbrød. Da trenger han brød, tomat, potet, paprika, løk, bite, ost, etc., som kommer fra kjøleskapet
- Cook overleverer til slutt maten til servitøren. Nå er det servitørens jobb å flytte denne maten utenfor kjøkkenet.
- Nå vet servitøren hvilken mat du har bestilt og hvordan den serveres.
I dette tilfellet,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) Hva er forskjellen mellom 3-lags Architecture og MVC Archilære?
Her er forskjellen mellom 3-lags Architecture og MVC Archilære:
Parameter | 3-Tier Architecture | MVC Architecture |
---|---|---|
Kommunikasjon | Denne typen arkitekturmønster kommuniserer aldri direkte med datalaget. | Alle lag kommuniserer direkte ved hjelp av trekanttopologi. |
bruk | 3-lags: mye brukt i nettapplikasjoner der klienten, datalagene og mellomvaren kjører på fysisk separate plattformer. | Vanligvis brukt på applikasjoner som kjører på en enkelt grafisk arbeidsstasjon. |
34) Hvordan kan du bruke MVC-arkitektur i JSP?
Følgende eksempel viser bruken av MVC-arkitektur i JSP:
- Vi tar eksemplet med et skjema med to variabler, "e-post" og "passord", som er visningslaget vårt.
- Når brukeren skriver inn e-post og passord og klikker på send, blir handlingen sendt i mvc_servlet der e-post og passord sendes.
- Denne mvc_servlet er kontrollerlag. Her i mvc_servlet sendes forespørselen til bønneobjektet, som fungerer som et modelllag.
- E-post- og passordverdiene settes inn i bønnen og lagres for videre formål.
- Fra bønnen hentes verdien 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 om våren?
Slik fungerer MVC om våren:
- DispatcherServlet mottar en forespørsel.
- Etter det kommuniserer DispatcherServlet med HandlerMapping. Den tilbakekaller også kontrolleren knyttet til den spesifikke forespørselen.
- Kontrolleren behandler denne forespørselen ved å kalle opp tjenestemetodene, og et ModelAndView-objekt returneres av DispatcherServlet.
- Visningsnavnet sendes til en ViewResolver for å finne den faktiske Viewen som skal påkalles.
- Etter det sendes DispatcherServlet til View for å gjengi resultatet.
- Ved å bruke modelldataene, gjengir og sender visningen resultatet tilbake til brukeren.
36) Hva er de viktige punktene å huske når du oppretter en MVC-applikasjon?
Her er noen viktige punkter å huske på når du oppretter en MVC-applikasjon:
- Du må huske at ASP.net MVC ikke er en erstatning for ASP.Net nettskjemabaserte applikasjoner
- Tilnærmingen til MVC-apputvikling må avgjøres basert på applikasjonskravene og funksjonene som tilbys av ASP.net MVC for å passe de spesifikke utviklingsbehovene.
- Applikasjonsutviklingsprosessen med ASP.NET MVC er mer kompleks sammenlignet med nettskjemabaserte applikasjoner.
- Applikasjonsvedlikeholdbarheten er alltid høyere med separering av applikasjonsoppgaver.
37) Hva er forskjellen mellom webskjemaer og MVC?
Her er forskjellen mellom nettskjemaer og MVC:
Parametre | Webskjemaer | MVC |
---|---|---|
Modell | Asp.Net Web Forms følger hendelsesdrevet utviklingsmodell. | Asp.Net MVC bruker MVC-mønsterbasert utviklingsmodell. |
Brukt siden | Har eksistert siden 2002 | Den ble først utgitt i 2009 |
Støtte for visningstilstand | Asp.Net Web Forms støtter visningstilstand for tilstandsadministrasjon på klientsiden. | .Net MVC støtter ikke visningstilstand. |
URL-type | Asp.Net Web Forms har filbaserte URL-er. Det betyr at filnavnet finnes i URL-ene, og at de må eksistere fysisk. | Asp.Net MVC har rutebaserte URL-er som betyr at URL-er blir omdirigert til kontrollere og handlinger. |
syntax | Asp.Net MVC følger Web Forms Syntax. | Asp.Net MVC følger den tilpassbare syntaksen. |
Visningstype | Web Forms-visninger er tett koblet til Code behind(ASPX-CS), dvs. logikk. | MVC-visninger og logikk holdes alltid separat. |
Konsekvent utseende og følelse | Den har hovedsider for et konsistent utseende. | Asp.Net MVC har oppsett for et konsistent utseende. |
Kode Gjenbrukbarhet | Web Forms tilbyr brukerkontroller for gjenbruk av kode. | Asp.Net MVC tilbyr delvise visninger for gjenbruk av kode. |
Kontroll for HTML | Less kontroll over gjengitt HTML. | Full kontroll over HTML |
Statlig ledelse | Automatisk tilstandsstyring av kontroller. | Manuell statsstyring. |
TDD-støtte | Svak eller tilpasset TDD kreves. | Oppmuntrer og inkluderer TDD! |
38) Hvordan kan du vise noe i CodeIgniter?
Her er en kode for å vise noe 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 å demonstrere modell, visning og kontroller i CodeIgniter.
Her er en kode for å demonstrere modell, visning og kontroller i CodeIgniter:
Åpne filen Welcome.php-kontrolleren lokalisert applikasjon/kontrollere:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Oppdater indeksen 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; } }
Åpne welcome_message.php som ligger i
application/views/welcome_message.php
Bytt ut 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 lage en webapplikasjon med både webskjemaer og MVC?
Ja. Du må inkludere MVC-monteringsreferansene nedenfor i nettskjemaapplikasjonen for å lage en hybridapplikasjon.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) Hvordan kan du tilordne et aliasnavn for ASP.NET Web API Action?
Vi kan gi aliasnavn for Web API-handling på samme måte som i tilfellet med ASP.NET MVC ved å bruke "ActionName"-attributtet som følger:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
42) Hva er hovedforskjellen mellom MVC og WebAPI?
Her er hovedforskjellen mellom MVC og WebAPI:
MVC-rammeverket brukes til å utvikle applikasjoner som har et brukergrensesnitt. For det kan visninger brukes til å bygge et brukergrensesnitt.
WebAPI brukes til å utvikle HTTP-tjenester. Andre apper kan også kalles WebAPI-metodene for å hente disse dataene.
43) Hvordan kan du sikre at Web API kun returnerer JSON-data?
For å få Web API til å serialisere det returnerende objektet til JSON-format og bare returnere JSON-data. For det bør du legge til følgende kode i WebApiConfig.cs-klassen i et hvilket som helst MVC Web API-prosjekt:
//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) Hva er forskjellen mellom MVVM og MVC?
Her er de viktige forskjellene mellom MVVM og MVC:
MVC | MVVM |
---|---|
En kontroller er inngangspunktet til applikasjonen. | Visningen er inngangspunktet til applikasjonen. |
En til mange relasjoner mellom Controller & View. | Ett til mange forhold mellom View & View Model. |
Visningen har ikke referanse til kontrolleren | Visningen har referanser til Visningsmodellen. |
MVC er gammel modell | MVVM er en relativt ny modell. |
Vanskelig å lese, endre, enhetsteste og gjenbruke denne modellen | Feilsøkingsprosessen vil være komplisert når vi har komplekse databindinger. |
MVC-modellkomponent kan testes separat fra brukeren | Enkel for separat enhetstesting og koden er hendelsesdrevet. |
45) Hva er MVC i AngularJS?
Angular.js følger MVC-arkitekturen, diagrammet over MVC-rammeverket er vist nedenfor.
- Kontrolleren representerer laget som har forretningslogikken. Brukerhendelser utløser funksjonene som er lagret inne i kontrolleren. Brukerhendelsene er en del av kontrolleren.
- Visninger brukes til å representere presentasjonslaget som gis til sluttbrukerne.
- Modeller brukes til å representere dataene dine. Dataene i modellen din kan være så enkle som å bare ha primitive deklarasjoner. Hvis du for eksempel vedlikeholder en studentapplikasjon, kan datamodellen din bare ha en student-ID og et navn. Eller det kan også være komplekst ved å ha en strukturert datamodell. Hvis du opprettholder en søknad om bileierskap, kan du ha strukturer for å definere selve kjøretøyet med tanke på motorkapasitet, setekapasitet osv.
46) Hva er rollen til MVC i AngularJS?
Følgende er en enkel definisjon av hvordan AngularJS-kontrolleren fungerer.
- Den behandlingsansvarliges primære ansvar er å kontrollere dataene som sendes til visningen. Omfanget og utsikten har toveiskommunikasjon.
- Egenskapene til visningen kan kalle "funksjoner" på skopet. Dessuten kan hendelser på visningen kalle "metoder" på omfanget. Kodebiten nedenfor gir et enkelt eksempel på en funksjon.
- Funksjonen($scope) som defineres når kontrolleren defineres og en intern funksjon som brukes til å returnere sammenkoblingen av $scope.firstName og $scope.lastName.
- I AngularJS når du definerer en funksjon som en variabel, er den kjent som en metode.
- Data går på denne måten fra kontrolløren til scope, og deretter går dataene frem og tilbake fra scope til visningen.
- Omfanget brukes til å eksponere modellen for utsikten. Modellen kan modifiseres via metoder definert i scope, som kan utløses via hendelser fra visningen. Vi kan definere toveis modellbinding fra omfanget til modellen.
- Kontrollere bør ideelt sett ikke brukes til å manipulere DOM. Dette bør gjøres av direktivene, som vi vil se senere.
- Den beste praksisen er å ha kontroller basert på funksjonalitet. For eksempel, hvis du har et skjema for inndata og du trenger en kontroller for det, lag en kontroller kalt "skjemakontroller".
47) Hvordan bygge en grunnleggende kontroller i AngularJS
Kodebiten nedenfor er en enkel HTML-side som har tittelen "Hendelsesregistrering" og har referanser til viktige biblioteker som f.eks. Bootstrap, jquery og Angular.
- Vi legger til referanser til bootstrap CSS-stilarkene, som vil bli brukt sammen med bootstrap-bibliotekene.
- Vi legger til referanser til AngularJS-bibliotekene. Så nå, uansett hva vi gjør med angular.js fremover vil bli referert fra dette biblioteket.
- Vi legger til referanser til bootstrap-biblioteket for å gjøre nettsiden vår mer responsiv for visse kontroller.
- Vi har lagt til referanser til jquery-biblioteker som vil bli brukt til DOM-manipulasjon. Dette kreves av Angular fordi noe av funksjonaliteten i Angular er avhengig av dette biblioteket.
Som standard vil kodebiten ovenfor være til stede i alle eksemplene våre, slik at vi bare kan vise den spesifikke angularJS-koden i de påfølgende delene.
For det andre, la oss se på filene og filstrukturen som vi skal starte med kurset vårt:
- Først deler vi filene våre i 2 mapper, slik det gjøres med alle konvensjonelle nettapplikasjoner. Vi har mappen "CSS". Den vil inneholde alle våre overlappende stilarkfiler, og så vil vi ha "lib"-mappen vår, som vil ha alle våre JavaScript filer.
- Bootstrap.css-filen er plassert i CSS-mappen, og den brukes for å legge til et godt utseende og følelse for nettstedet vårt.
- angular.js er hovedfilen vår som ble lastet ned fra angularJS-siden og holdt i lib-mappen vår.
- App.js-filen vil inneholde koden vår for kontrollerene.
- Bootstrap.js-filen brukes til å supplere bootstrap.cs-filen for å legge til bootstrap-funksjonalitet til webapplikasjonen vår.
- jquery-filen vil bli brukt til å legge til DOM-manipulasjonsfunksjonalitet til nettstedet vårt.
Eksempel på bruk av angular.js:
Det vi ønsker å gjøre her er bare å vise ordene "AngularJS" i både tekstformat og i en tekstboks når siden vises i nettleseren.
<!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) Hva er bruken av ng-controller i eksterne filer i AngularJS
Utfør følgende trinn for å bruke ng-controller i eksterne filer i AngularJS
Trinn 1) I app.js-filen legger du til følgende kode for kontrolleren din
angular.module('app',[]).controller('HelloWorldCtrl',function($scope) { $scope.message = "Hello World" });
Trinn 2) Nå, i Sample.html-filen, legg til en div-klasse som vil inneholde ng-controller-direktivet, og legg deretter til en referanse til medlemsvariabelen "melding".
<!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 for å definere metoder i AngularJS Controller?
Her er en kode for å 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 å bruke ng-modellen for å vise multi-line input-kontroll i AngularJS.
Her er en kode som bruker ng-modellen for å vise multi-line input-kontroll 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> 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) Skriv kode for å demonstrere bruken av input-elementer.
Her er et kodeeksempel som bruker AngulaJS-inndataelementer:
<!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) Hvordan kan du lage en modell i PHP?
Her er en kode for å lage modell 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 bruke PHP MVC Framework?
Du bør bruke PHP MVC Framework fordi det forenkler arbeidet med komplekse teknologier ved å:
- Skjuler alle de komplekse implementeringsdetaljene
- Tilbyr standardmetoder som vi kan bruke for å bygge applikasjonene våre.
- Økt utviklerproduktivitet, dette er fordi basisimplementeringen av aktiviteter som å koble til databasen, rense brukerinndata, etc., allerede er delvis implementert.
- Overholdelse av profesjonelle kodestandarder
54) Hva er populære PHP MVC-rammeverk?
Her er populære PHP MVC-rammeverk:
CodeIgniter: Det er et av de mest populære PHP MVC-rammeverkene. Den er lett og har en kort læringskurve. Den har et rikt sett med biblioteker som hjelper deg med å bygge nettsteder og applikasjoner raskt. Brukere med begrenset kunnskap om OOP-programmering kan også bruke den.
Kohana: Det er en Hierarchical Model View Controller HMVC som er et sikkert og lett rammeverk. Den har et rikt sett med komponenter for å utvikle applikasjoner raskt.
CakePHP: Den er modellert etter Ruby on rails. Det er kjent for konsepter som programvaredesignmønstre, konvensjon over konfigurasjon, ActiveRecord, etc.
Send: Det er et kraftig rammeverk som er;
- Sikker, pålitelig, rask og skalerbar
- Støtter Web 2.0 og oppretting av webtjenester.
Den har APIer fra leverandører som Amazon, Google Flickr, Yahoo, etc. Den er ideell for utvikling av forretningsapplikasjoner.
55) Hvordan kan du lage visninger i PHP?
Her er en kode for å lage 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>
La oss nå lage 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 intervjuspørsmålene vil også hjelpe i din viva(orals)