Topp 55 MVC-intervjufrågor och svar (PDF)

Här är MVC-intervjufrågor för fräschare såväl som erfarna kandidater för att få sitt drömjobb.

 

MVC-intervjufrågor och svar för nybörjare

1) Vad är Model-View-Controller?

MVC är ett mjukvaruarkitekturmönster för att utveckla webbapplikationer. Det hanteras av tre objekt, Model, View och Controller.

👉 Gratis PDF-nedladdning: MVC-intervjufrågor och svar


2) Vad representerar Model-View-Controller i en MVC-applikation?

I en MVC-modell,

  • Modell– Den representerar applikationsdatadomänen. Med andra ord, en applikations affärslogik finns i modellen och ansvarar för att upprätthålla data.
  • Visa– Det representerar användargränssnittet som slutanvändarna kommunicerar med. Kort sagt, all logik för användargränssnittet finns i View.
  • Kontroller- Det är kontrollanten som svarar på användarens handlingar. Baserat på användaråtgärderna svarar respektive styrenhet inom modellen och väljer en vy att rendera som visar användargränssnittet. Användarinmatningslogiken finns i styrenheten.

3) Namnge sammansättningen för att definiera MVC

Ocuco-landskapet MVC ramverk definieras i System.Web.Mvc-sammansättningen.


4) Vilka är de olika returtyperna för en kontrollåtgärdsmetod

Här är olika returtyper av en kontrollåtgärdsmetod:

  • Visa resultat
  • JavaManusresultat
  • Omdirigeringsresultat
  • JSON-resultat
  • Innehållsresultat

5) Vad är skillnaden mellan att lägga till rutter till en webbformulärapplikation och en MVC-applikation?

För att lägga till rutter till en webbformulärapplikation använder vi metoden MapPageRoute() i klassen RouteCollection, medan vi använder metoden MapRoute() för att lägga till rutter till en MVC-applikation.


6) Vilka är de två sätten att lägga till begränsningar för en rutt?

De två metoderna för att lägga till begränsningar för en rutt är

  • Använd reguljära uttryck
  • Använd ett objekt som implementerar IRouteConstraint Interface

7) Vilka är fördelarna med MVC?

  • MVC delar upp ditt projekt i ett annat segment och det blir lätt för utvecklare att arbeta med
  • Det är lätt att redigera eller ändra någon del av ditt projekt som gynnar mindre utvecklings- och underhållskostnader för projektet
  • MVC gör ditt projekt mer systematiskt
  • Det representerar en tydlig åtskillnad mellan affärslogik och presentationslogik
  • Varje MVC-objekt har olika ansvarsområden
  • Utvecklingen fortskrider parallellt
  • Lätt att hantera och underhålla
  • Alla klasser och objekt är oberoende av varandra

8) Vad fungerar "beforeFilter()","beforeRender" och "afterFilter" i Controller?

  • föreFilter(): Denna funktion körs före varje åtgärd i styrenheten. Det är rätt ställe att leta efter en aktiv session eller inspektera användarbehörigheter.
  • beforeRender(): Den här funktionen anropas efter kontrollens åtgärdslogik, men innan vyn renderas. Den här funktionen används inte ofta men kan behövas om du anropar render() manuellt innan slutet av en given åtgärd.
  • afterFilter(): Denna funktion anropas efter varje kontrollåtgärd och efter att renderingen är klar. Det är den sista kontrollmetoden att köra.

9) Vilken roll spelar komponenter Presentation, Abstraktion och Kontroll i MVC?

Här är rollen för komponenter Presentation, Abstraktion och Kontroll i MVC:

  • Presentation: Det är den visuella representationen av en specifik abstraktion i applikationen
  • Abstraktion: Det är affärsdomänens funktionalitet i applikationen
  • Kontroll: Det är en komponent som håller överensstämmelse mellan abstraktionen inom systemet och deras presentation för användaren förutom att kommunicera med andra kontroller inom systemet

10) Vilka är nackdelarna med MVC-modellen?

Här är några viktiga nackdelar med MVC-modellen:

  • Modellmönstret är lite komplext.
  • Ineffektiv dataåtkomst i sikte.
  • Med ett modernt användargränssnitt är det svårt att använda MVC.
  • Du behöver flera programmerare för parallell utveckling.
  • Flera teknikkunskaper krävs.

11) Vilken roll har "ActionFilters" i MVC?

I MVC hjälper "ActionFilters" dig att exekvera logik medan MVC-åtgärden exekveras eller den körs.


12) Vilka är stegen för genomförandet av ett MVC-projekt?

Stegen för genomförandet av ett MVC-projekt inkluderar:

  • Ta emot den första begäran om ansökan
  • Utför routing
  • Skapa en MVC-begäranhanterare
  • Skapa styrenhet
  • Kör kontrollenheten
  • Åkalla åtgärd
  • Utför resultat

13) Vad är routing och tre segment?

Routing hjälper dig att bestämma en URL-struktur och mappa URL:en med Controller.

De tre segmenten som är viktiga för routing är:

  • ControllerName
  • ActionMethodName
  • Parameter

14) Hur routing görs i MVC-mönstret?

Det finns en grupp rutter som kallas RouteCollection, som består av registrerade rutter i applikationen. Metoden RegisterRoutes registrerar rutterna i denna samling. En rutt definierar ett URL-mönster och en hanterare som ska användas om begäran matchar mönstret.

Den första parametern i MapRoute-metoden är namnet på rutten. Den andra parametern kommer att vara mönstret som webbadressen matchar. Den tredje parametern kan vara standardvärdena för platshållarna om de inte bestäms.


15) Hur kan du navigera från en vy till en annan med hjälp av en hyperlänk?

Genom att använda "ActionLink"-metoden som visas i koden nedan. Koden nedan kommer att skapa en enkel URL som hjälper till att navigera till "Hem"-kontrollern och anropa "GotoHome"-åtgärden.

Komprimera / kopiera kod

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

MVC-intervjufrågor och svar för erfarna

16) Hur underhålls sessioner i MVC?

Sessioner kan underhållas i MVC på tre sätt: tempdata, viewdata och viewbag.


17) Vad är skillnaden mellan Temp data, View data och View Bag?

  • Temp data: Det hjälper till att underhålla data när du byter från en styrenhet till en annan.
  • Visa data: Det hjälper till att upprätthålla data när du flyttar från styrenhet till vy.
  • Visa väska: Det är ett dynamiskt omslag runt vydata.

18) Vad är en delvy i MVC?

Delvis vy i MVC återger en del av vyinnehållet. Det är till hjälp för att minska kodduplicering. Enkelt uttryckt tillåter den partiella vyn att rendera en vy i den överordnade vyn.


19) Hur kan du implementera Ajax i MVC?

I MVC kan Ajax implementeras på två sätt

  • Ajax bibliotek
  • jQuery

20) Vad är skillnaden mellan "ActionResult" och "ViewResult"?

"ActionResult" är en abstrakt klass medan "ViewResult" härrör från klassen "AbstractResult". "ActionResult" har ett antal härledda klasser som "JsonResult", "FileStreamResult" och "ViewResult".

"ActionResult" är bäst om du härleder olika typer av vyer dynamiskt.


21) Hur kan du skicka tillbaka resultatet i JSON-format i MVC?

För att skicka tillbaka resultatet i JSON-format i MVC kan du använda klassen "JSONRESULT".


22) Vad är skillnaden mellan View och Partial View?

Här är skillnaden mellan View och Partial View

Visa Delvis vy
Den innehåller layoutsidan Den innehåller inte layoutsidan
Innan någon vy renderas, renderas visningsstartsidan Delvis vy verifierar inte för en viewstart.cshtml. Vi kan inte lägga in gemensam kod för en delvy på sidan viewStart.cshtml
View kan ha markup-taggar som body, html, head, title, meta etc. Partiell view är designad speciellt för att återge inom vyn, och bara därför består den inte av någon markering
View är inte lätt i jämförelse med partiell vy Vi kan skicka en vanlig vy till RenderPartial-metoden

23) Vilka typer av resultat finns i MVC?

I MVC finns det tolv typer av resultat där "ActionResult"-klassen är huvudklassen medan de 11 är deras undertyper:

  • Visa Resultat
  • PartialViewResult
  • Tomt Resultat
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaSkriptresultat
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Vad är betydelsen av NonActionAttribute?

Alla publika metoder för en kontrollklass behandlas som åtgärdsmetoden om du vill förhindra denna standardmetod, då måste du tilldela den offentliga metoden med NonActionAttribute.


25) Vad är användningen av standardrutten {resource}.axd/{*pathinfo}?

Standardvägen förhindrar att förfrågningar om en webbresursfil som Webresource.axd eller ScriptResource.axd skickas till styrenheten.


26) Vilken är ordningen på de filter som körs om flera filter implementeras?

Filterordningen skulle se ut så här:

  • Behörighetsfilter
  • Åtgärdsfilter
  • Svarsfilter
  • Undantagsfilter

27) Vilka ASP.NET-filter körs i slutändan?

Till slut körs "Undantagsfilter".


28) Vilka är filändelserna för rakbladsvyer?

För rakbladsvyer är filtilläggen

  • .cshtml: Om C# är programmeringsspråket
  • .vbhtml: Om VB är programmeringsspråket

29) Vilka är de två sätten att lägga till begränsningar för en rutt?

Två metoder för att lägga till begränsningar på rutten är:

  • Använda reguljära uttryck
  • Använda ett objekt som implementerar IRouteConstraint-gränssnittet

30) Vilka två fall är routing inte implementerad eller krävs?

Två fall där routing inte krävs är

  • När en fysisk fil hittas som matchar URL-mönstret
  • När routing är inaktiverat för ett URL-mönster

MVC-intervjufrågor för 5 års erfarenhet

31) Vilka egenskaper har MVC?

Här är funktionerna i MVC:

  • Enkel och friktionsfri testbarhet. Mycket testbart, utdragbart och pluggbart ramverk.
  • Erbjuder full kontroll över din HTML såväl som dina webbadresser
  • Utnyttjar befintliga funktioner som tillhandahålls av ASP.NET, JSP, Django, etc.
  • Tydlig separation av logik: Modell, View, Controller. Separation av applikationsuppgifter via affärslogik, Ul-logik och ingångslogik.
  • URL-routing för SEO-vänliga webbadresser. Kraftfull URL-mappning för begripliga och sökbara webbadresser.
  • Stöd för testdriven utveckling (TDD).

32) Vilka är de verkliga exemplen på MVC?

Här är ett verkligt exempel på MVC:

  • Låt oss anta att du går till en restaurang. Du kommer inte gå till köket och laga mat som du säkert kan göra hemma hos dig. Istället går du bara dit och väntar på att servitören ska komma på.
  • Nu kommer servitören till dig, och du beställer bara maten. Servitören vet inte vem du är och vad du vill ha han skrev bara ner detaljerna i din matbeställning.
  • Sedan går servitören till köket. I köket lagar inte servitören din mat.
  • Kocken lagar din mat. Servitören får din beställning tillsammans med ditt bordsnummer.
  • Cook lagar sedan mat åt dig. Han använder ingredienser för att laga maten. Låt oss anta att du beställde en grönsaksmacka. Sedan behöver han bröd, tomat, potatis, paprika, lök, bit, ost, etc., som kommer från kylskåpet
  • Cook lämnar slutligen över maten till servitören. Nu är det servitörens uppgift att flytta denna mat utanför köket.
  • Nu vet servitören vilken mat du har beställt och hur den serveras.

I det här fallet,

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

33) Vad är skillnaden mellan 3-tier Architecture och MVC Architecture?

Här är skillnaden mellan 3-tier Architecture och MVC Architecture:

Parameter 3-Tier Architecture MVC Architecture
Kommunikation Denna typ av arkitekturmönster kommunicerar aldrig direkt med datalagret. Alla lager kommunicerar direkt med hjälp av triangeltopologi.
Användning 3-tier: används ofta i webbapplikationer där klienten, datanivåer och mellanprogram körs på fysiskt separata plattformar. Används vanligtvis på applikationer som körs på en enda grafisk arbetsstation.

34) Hur kan du använda MVC-arkitektur i JSP?

Följande exempel visar användningen av MVC-arkitektur i JSP:

  • Vi tar exemplet med ett formulär med två variabler, "e-post" och "lösenord" som är vårt vylager.
  • När användaren anger e-post och lösenord och klickar på skicka, skickas åtgärden i mvc_servlet där e-post och lösenord skickas.
  • Denna mvc_servlet är kontrolllager. Här i mvc_servlet skickas begäran till bönobjektet, som fungerar som ett modelllager.
  • Värdena för e-post och lösenord ställs in i bönan och lagras för ytterligare ändamål.
  • Från bönan hämtas värdet och visas i vylagret.

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) Hur fungerar MVC på våren?

Så här fungerar MVC under våren:

  • DispatcherServlet tar emot en förfrågan.
  • Därefter kommunicerar DispatcherServlet med HandlerMapping. Den återkallar också den kontroller som är kopplad till den specifika begäran.
  • Styrenheten bearbetar denna begäran genom att anropa servicemetoderna, och ett ModelAndView-objekt returneras av DispatcherServlet.
  • Vynamnet skickas till en ViewResolver för att hitta den faktiska vyn att anropa.
  • Därefter skickas DispatcherServlet till View för att återge resultatet.
  • Genom att använda modelldata renderar vyn och skickar tillbaka resultatet till användaren.

36) Vilka är de viktiga punkterna att komma ihåg när du skapar en MVC-applikation?

Här är några viktiga punkter att komma ihåg när du skapar en MVC-applikation:

  • Du måste komma ihåg att ASP.net MVC inte är en ersättning för ASP.Net webbformulärbaserade applikationer
  • Tillvägagångssättet för MVC-apputveckling måste bestämmas baserat på applikationskraven och funktionerna som tillhandahålls av ASP.net MVC för att passa de specifika utvecklingsbehoven.
  • Applikationsutvecklingsprocessen med ASP.NET MVC är mer komplex jämfört med webbformulärbaserade applikationer.
  • Applikationsunderhållbarheten är alltid högre med separationen av applikationsuppgifter.

37) Vad är skillnaden mellan webbformulär och MVC?

Här är skillnaden mellan webbformulär och MVC:

Driftparametrar Webformulär MVC
Modell Asp.Net Web Forms följer händelsedriven utvecklingsmodell. Asp.Net MVC använder MVC-mönsterbaserad utvecklingsmodell.
Används sedan Har funnits sedan 2002 Den släpptes första gången 2009
Stöd för View state Asp.Net Web Forms stöder vytillstånd för tillståndshantering på klientsidan. .Net MVC stöder inte visningstillstånd.
URL-typ Asp.Net Web Forms har filbaserade URL:er. Det betyder att filnamnet finns i webbadresserna och att de måste finnas fysiskt. Asp.Net MVC har ruttbaserade URL:er som innebär att URL:er omdirigeras till kontroller och åtgärder.
syntax Asp.Net MVC följer syntaxen för webbformulär. Asp.Net MVC följer den anpassningsbara syntaxen.
Visa typ Web Forms-vyer är tätt kopplade till Code behind(ASPX-CS), dvs logik. MVC-vyer och logik hålls alltid separat.
Konsekvent utseende och känsla Den har huvudsidor för ett konsekvent utseende. Asp.Net MVC har layouter för ett konsekvent utseende.
Kod Återanvändbarhet Web Forms erbjuder användarkontroller för återanvändning av kod. Asp.Net MVC erbjuder partiella vyer för återanvändning av kod.
Kontroll för HTML Less kontroll över renderad HTML. Full kontroll över HTML
Statlig ledning Automatisk tillståndshantering av kontroller. Manuell tillståndshantering.
TDD-stöd Svag eller anpassad TDD krävs. Uppmuntrar och inkluderar TDD!

38) Hur kan du visa något i CodeIgniter?

Här är en kod för att visa något 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 kod för att demonstrera Model, View och Controller i CodeIgniter.

Här är en kod för att demonstrera modell, vy och styrenhet i CodeIgniter:

Öppna filen Welcome.php controller lokaliserad applikation/kontroller:

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

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

Uppdatera indexet enligt följande:

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

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

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

Skriv följande kod 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;
    }
}

Öppna welcome_message.php som finns i

application/views/welcome_message.php

Byt ut koden mot följande

<!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 skapa en webbapplikation med både webbformulär och MVC?

Ja. Du måste inkludera nedanstående MVC-sammansättningsreferenser i webbformulärapplikationen för att skapa en hybridapplikation.

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

41) Hur kan du tilldela ett aliasnamn för ASP.NET Web API Action?

Vi kan ge alias för webb-API-åtgärden på samma sätt som i fallet med ASP.NET MVC genom att använda attributet "ActionName" enligt följande:

[HttpPost]

[ActionName("SaveStudentInfo")]

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

42) Vad är den största skillnaden mellan MVC och WebAPI?

Här är huvudskillnaden mellan MVC och WebAPI:

MVC-ramverket används för att utveckla applikationer som har ett användargränssnitt. För det kan vyer användas för att bygga ett användargränssnitt.

WebAPI används för att utveckla HTTP-tjänster. Andra appar kan också kallas för WebAPI-metoder för att hämta dessa data.


43) Hur kan du säkerställa att Web API endast returnerar JSON-data?

För att få Web API att serialisera det returnerande objektet till JSON-format och endast returnera JSON-data. För det bör du lägga till följande kod i klassen WebApiConfig.cs i alla 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) Vad är skillnaden mellan MVVM och MVC?

Här är de viktiga skillnaderna mellan MVVM och MVC:

MVC MVVM
En Controller är ingångspunkten till applikationen. Vyn är ingångspunkten till applikationen.
En till många relationer mellan Controller & View. En till många relationer mellan View & View Model.
View har ingen referens till Controller View har referenser till View-Modell.
MVC är gammal modell MVVM är en relativt ny modell.
Svårt att läsa, ändra, enhetstesta och återanvända denna modell Felsökningsprocessen kommer att bli komplicerad när vi har komplexa databindningar.
MVC-modellkomponent kan testas separat från användaren Lätt för separat enhetstestning och koden är händelsestyrd.

45) Vad är MVC i AngularJS?

Angular.js följer MVC-arkitekturen, diagrammet för MVC-ramverket visas nedan.

  • Controllern representerar lagret som har affärslogiken. Användarhändelser utlöser funktionerna som är lagrade inuti din styrenhet. Användarhändelserna är en del av regulatorn.
  • Vyer används för att representera presentationslagret som tillhandahålls slutanvändarna.
  • Modeller används för att representera dina data. Datan i din modell kan vara så enkel som att bara ha primitiva deklarationer. Om du till exempel underhåller en studentapplikation kan din datamodell bara ha ett student-id och ett namn. Eller så kan det också vara komplext genom att ha en strukturerad datamodell. Om du upprätthåller en ansökan om bilägande kan du ha strukturer för att definiera själva fordonet i termer av dess motorkapacitet, sittkapacitet etc.

46) Vilken roll har MVC i AngularJS?

Följande är en enkel definition av hur AngularJS Controller fungerar.

  • Den registeransvariges primära ansvar är att kontrollera de uppgifter som skickas till vyn. Omfattningen och utsikten har tvåvägskommunikation.
  • Vyns egenskaper kan kalla "funktioner" på skopet. Dessutom kan händelser på vyn kalla "metoder" på omfattningen. Nedanstående kodavsnitt ger ett enkelt exempel på en funktion.
    • Funktionen ($scope) som definieras när styrenheten definieras och en intern funktion som används för att returnera sammankopplingen av $scope.firstName och $scope.lastName.
    • I AngularJS när du definierar en funktion som en variabel är den känd som en metod.

  • Data passerar på detta sätt från den registeransvarige till scopet, och sedan passerar data fram och tillbaka från scopet till vyn.
  • Omfattningen används för att exponera modellen för vyn. Modellen kan modifieras via metoder definierade i scopet, som skulle kunna triggas via händelser från vyn. Vi kan definiera tvåvägsmodellbindning från omfattningen till modellen.
  • Styrenheter bör helst inte användas för att manipulera DOM. Detta bör ske genom direktiven, som vi kommer att se senare.
  • Den bästa praxisen är att ha kontroller baserade på funktionalitet. Till exempel, om du har ett formulär för inmatning och du behöver en kontrollenhet för det, skapa en kontrollenhet som heter "formulärkontrollant".

47) Hur man bygger en grundläggande styrenhet i AngularJS

Nedanstående kodavsnitt är en enkel HTML-sida som har titeln "Event Registration" och har referenser till viktiga bibliotek som t.ex. Bootstrap, jquery och Angular.

  1. Vi lägger till referenser till bootstrap CSS-stilmallarna, som kommer att användas tillsammans med bootstrap-biblioteken.
  2. Vi lägger till referenser till AngularJS-biblioteken. Så nu, vad vi än gör med angular.js framöver kommer att refereras från det här biblioteket.
  3. Vi lägger till referenser till bootstrap-biblioteket för att göra vår webbsida mer responsiv för vissa kontroller.
  4. Vi har lagt till referenser till jquery-bibliotek som kommer att användas för DOM-manipulation. Detta krävs av Angular eftersom en del av funktionaliteten i Angular är beroende av detta bibliotek.

Som standard kommer kodavsnittet ovan att finnas i alla våra exempel så att vi bara kan visa den specifika angularJS-koden i de efterföljande avsnitten.

För det andra, låt oss titta på våra filer och filstruktur som vi ska börja med vår kurs:

  1. Först segregerar vi våra filer i 2 mappar som görs med alla vanliga webbapplikationer. Vi har mappen "CSS". Den kommer att innehålla alla våra överlappande stilmallsfiler, och sedan kommer vi att ha vår "lib"-mapp, som kommer att ha alla våra JavaScript filer.
  2. Bootstrap.css-filen placeras i CSS-mappen, och den används för att lägga till ett bra utseende och känsla för vår webbplats.
  3. angular.js är vår huvudfil som laddades ner från angularJS-webbplatsen och förvarades i vår lib-mapp.
  4. App.js-filen kommer att innehålla vår kod för kontrollerna.
  5. Bootstrap.js-filen används för att komplettera bootstrap.cs-filen för att lägga till bootstrap-funktionalitet till vår webbapplikation.
  6. Jquery-filen kommer att användas för att lägga till DOM-manipulationsfunktioner på vår webbplats.

Exempel på användning av angular.js:

Det vi vill göra här är bara att visa orden "AngularJS" i både textformat och i en textruta när sidan visas i webbläsaren.

<!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) Vad är användningen av ng-controller i externa filer i AngularJS

Utför följande steg för att använda ng-controller i externa filer i AngularJS

Steg 1) Lägg till följande kod för din handkontroll i filen app.js

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

Steg 2) Lägg nu till en div-klass i din Sample.html-fil som innehåller direktivet ng-controller och lägg sedan till en referens till medlemsvariabeln "meddelande".

<!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 kod för att definiera metoder i AngularJS Controller?

Här är en kod för att definiera 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 kod med ng-modellen för att visa flerradsingångskontroll i AngularJS.

Här är en kod som använder ng-modellen för att visa multi-line input control 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 kod för att demonstrera användningen av inmatningselement.

Här är ett kodexempel som använder AngulaJS-ingångselement:

<!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) Hur kan man skapa en modell i PHP?

Här är en kod för att skapa en 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) Varför använda PHP MVC Framework?

Du bör använda PHP MVC Framework eftersom det förenklar arbetet med komplexa teknologier genom att:

  • Döljer alla komplexa implementeringsdetaljer
  • Tillhandahåller standardmetoder som vi kan använda för att bygga våra applikationer.
  • Ökad utvecklarproduktivitet, detta beror på att basimplementeringen av aktiviteter som att ansluta till databasen, sanera användarinmatning, etc., redan är delvis implementerad.
  • Efterlevnad av professionella kodningsstandarder

54) Vilka är populära PHP MVC-ramverk?

Här är populära PHP MVC-ramverk:

CodeIgniter: Det är ett av de mest populära PHP MVC-ramverken. Den är lätt och har en kort inlärningskurva. Den har en rik uppsättning bibliotek som hjälper till att bygga webbplatser och applikationer snabbt. Användare med begränsad kunskap om OOP-programmering kan också använda den.

Kohana: Det är en Hierarchical Model View Controller HMVC som är ett säkert och lätt ramverk. Den har en rik uppsättning komponenter för att snabbt utveckla applikationer.

CakePHP: Den är modellerad efter Ruby on rails. Det är känt för koncept som mjukvarudesignmönster, konvention över konfiguration, ActiveRecord, etc.

Zend: Det är ett kraftfullt ramverk som är;

  • Säker, pålitlig, snabb och skalbar
  • Stöder Web 2.0 och skapande av webbtjänster.

Den har API:er från leverantörer som AmazonGoogle, Flickr, Yahoo, etc. Det är idealiskt för att utveckla affärsapplikationer.


55) Hur kan du skapa vyer i PHP?

Här är en kod för att skapa vyer 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>

Låt oss nu skapa resultatsidan 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>

Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)