Top 55 pitanja i odgovora za MVC intervju (PDF)

Ovdje su pitanja za MVC intervju za svježije kao i iskusne kandidate koji će dobiti posao iz snova.

 

Pitanja i odgovori za MVC intervju za brucoše

1) Što je model-view-controller?

MVC je obrazac softverske arhitekture za razvoj web aplikacija. Njime upravljaju tri objekta, Model, View i Controller.

👉 Besplatno preuzimanje PDF-a: Pitanja i odgovori za MVC intervju


2) Što Model-View-Controller predstavlja u MVC aplikaciji?

U MVC modelu,

  • Model– Predstavlja podatkovnu domenu aplikacije. Drugim riječima, poslovna logika aplikacije sadržana je unutar modela i odgovorna je za održavanje podataka.
  • Pogled– Predstavlja korisničko sučelje s kojim krajnji korisnici komuniciraju. Ukratko, sva logika korisničkog sučelja sadržana je unutar Viewa.
  • Upravljač- Upravljač je taj koji odgovara na radnje korisnika. Na temelju radnji korisnika, dotični kontroler odgovara unutar modela i odabire prikaz za renderiranje koji prikazuje korisničko sučelje. Logika korisničkog unosa sadržana je unutar kontrolera.

3) Imenujte sklop za definiranje MVC-a

The MVC okvir definiran je u sklopu System.Web.Mvc.


4) Koje su različite vrste povrata metode radnje kontrolera

Ovdje su različite vrste vraćanja metode radnje kontrolera:

  • Pogledajte rezultat
  • JavaRezultat skripte
  • Rezultat preusmjeravanja
  • JSON rezultat
  • Rezultat sadržaja

5) Koja je razlika između dodavanja ruta aplikaciji web obrasca i MVC aplikaciji?

Za dodavanje ruta u aplikaciju web forme koristimo metodu MapPageRoute() klase RouteCollection, dok za dodavanje ruta u MVC aplikaciju koristimo metodu MapRoute().


6) Koja su dva načina za dodavanje ograničenja ruti?

Dvije metode za dodavanje ograničenja ruti su

  • Koristite regularne izraze
  • Koristite objekt koji implementira sučelje IRouteConstraint

7) Koje su prednosti MVC-a?

  • MVC odvaja vaš projekt u drugi segment i programerima postaje lako raditi na njemu
  • Lako je urediti ili promijeniti neki dio vašeg projekta što doprinosi smanjenju troškova razvoja i održavanja projekta
  • MVC čini vaš projekt sustavnijim
  • Predstavlja jasno razdvajanje poslovne logike i logike prezentacije
  • Svaki MVC objekt ima različite odgovornosti
  • Razvoj napreduje paralelno
  • Jednostavan za upravljanje i održavanje
  • Sve klase i objekti neovisni su jedni o drugima

8) Što funkcije "beforeFilter()", "beforeRender" i "afterFilter" rade u Controlleru?

  • prijeFilter(): Ova se funkcija pokreće prije svake radnje u upravljaču. To je pravo mjesto za provjeru aktivne sesije ili provjeru korisničkih dopuštenja.
  • prijeRender(): Ova se funkcija poziva nakon logike akcije kontrolera, ali prije nego što se prikaz renderira. Ova se funkcija ne koristi često, ali može biti potrebna ako pozivate render() ručno prije završetka određene akcije.
  • afterFilter(): Ova se funkcija poziva nakon svake radnje kontrolera i nakon što je renderiranje gotovo. To je zadnja metoda kontrolera koja se pokreće.

9) Koja je uloga komponenti Prezentacija, Apstrakcija i Kontrola u MVC-u?

Ovdje je uloga komponenti Prezentacija, Apstrakcija i Kontrola u MVC-u:

  • Prezentacija: To je vizualni prikaz određene apstrakcije unutar aplikacije
  • Apstrakcija: To je funkcionalnost poslovne domene unutar aplikacije
  • Kontrolirati: To je komponenta koja održava dosljednost između apstrakcije unutar sustava i njihove prezentacije korisniku uz komunikaciju s drugim kontrolama unutar sustava

10) Koji su nedostaci MVC modela?

Evo nekoliko važnih nedostataka MVC modela:

  • Uzorak modela je malo složen.
  • Neučinkovitost pristupa podacima u vidu.
  • S modernim korisničkim sučeljem teško je koristiti MVC.
  • Za paralelni razvoj potrebno vam je više programera.
  • Potrebno je poznavanje više tehnologija.

11) Koja je uloga “ActionFilters” u MVC-u?

U MVC-u, “ActionFilters” vam pomažu da izvršite logiku dok se MVC akcija izvršava ili se izvršava.


12) Koji su koraci za izvođenje MVC projekta?

Koraci za izvođenje MVC projekta uključuju:

  • Zaprimite prvi zahtjev za prijavu
  • Izvršite usmjeravanje
  • Stvorite MVC rukovatelj zahtjevima
  • Stvori kontroler
  • Izvrši kontroler
  • Pozvati akciju
  • Izvrši rezultat

13) Što je rutiranje i tri segmenta?

Usmjeravanje vam pomaže da odlučite o strukturi URL-a i mapirate URL s kontrolerom.

Tri segmenta koja su važna za usmjeravanje su:

  • Naziv kontrolera
  • ActionMethodName
  • Parametar

14) Kako se radi usmjeravanje u MVC uzorku?

Postoji grupa ruta pod nazivom RouteCollection, koja se sastoji od registriranih ruta u aplikaciji. Metoda RegisterRoutes bilježi rute u ovoj kolekciji. Ruta definira URL obrazac i rukovatelj koji se koristi ako zahtjev odgovara uzorku.

Prvi parametar metode MapRoute je naziv rute. Drugi parametar bit će uzorak s kojim URL odgovara. Treći parametar mogu biti zadane vrijednosti za rezervirana mjesta ako nisu utvrđeni.


15) Kako se možete kretati s jednog prikaza na drugi pomoću hiperveze?

Korištenjem metode “ActionLink” kao što je prikazano u donjem kodu. Kôd u nastavku izradit će jednostavan URL koji pomaže u navigaciji do kontrolera "Home" i pozivanju akcije "GotoHome".

Sažmi / kopiraj kod

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

Pitanja i odgovori za MVC intervju za iskusne

16) Kako se sesije održavaju u MVC-u?

Sesije se mogu održavati u MVC-u na tri načina: tempdata, viewdata i viewbag.


17) Koja je razlika između Temp data, View data i View Bag?

  • Privremeni podaci: Pomaže u održavanju podataka kada prelazite s jednog upravljača na drugi.
  • Prikaz podataka: Pomaže u održavanju podataka kada prijeđete s kontrolera na prikaz.
  • Pogledaj torbu: To je dinamički omotač oko podataka prikaza.

18) Što je djelomični prikaz u MVC-u?

Djelomični prikaz u MVC-u renderira dio sadržaja prikaza. Pomaže u smanjenju dupliciranja koda. Jednostavnim rječnikom rečeno, djelomični pogled omogućuje renderiranje pogleda unutar nadređenog prikaza.


19) Kako možete implementirati Ajax u MVC?

U MVC-u, Ajax se može implementirati na dva načina

  • Ajax knjižnice
  • jQuery

20) Koja je razlika između "ActionResult" i "ViewResult"?

“ActionResult” je apstraktna klasa dok je “ViewResult” izvedena iz klase “AbstractResult”. “ActionResult” ima niz izvedenih klasa kao što su “JsonResult”, “FileStreamResult” i “ViewResult”.

"ActionResult" je najbolji ako dinamički izvodite različite vrste prikaza.


21) Kako možete poslati rezultat natrag u JSON formatu u MVC?

Kako biste poslali rezultat natrag u JSON formatu u MVC, možete koristiti klasu “JSONRESULT”.


22) Koja je razlika između pogleda i djelomičnog prikaza?

Ovdje je razlika između pogleda i djelomičnog prikaza

Pogled Djelomičan pogled
Sadrži stranicu izgleda Ne sadrži stranicu izgleda
Prije nego što se prikaže bilo koji prikaz, prikazuje se početna stranica prikaza Djelomični prikaz ne provjerava viewstart.cshtml. Ne možemo staviti zajednički kod za djelomični prikaz unutar viewStart.cshtml.page
Prikaz može imati oznake za označavanje kao što su tijelo, html, glava, naslov, meta itd. Djelomični prikaz dizajniran je posebno za renderiranje unutar prikaza i upravo zbog toga ne sadrži nikakve oznake
Pogled nije lagan u usporedbi s djelomičnim prikazom RenderPartial metodi možemo proslijediti uobičajeni pogled

23) Koje su vrste rezultata u MVC-u?

U MVC-u postoji dvanaest tipova rezultata u kojima je klasa “ActionResult” glavna klasa dok je 11 njihovih podvrsta:

  • ViewResult
  • PartialViewResult
  • EmptyResult
  • RedirectResult
  • RedirectToRouteResult
  • JsonResult
  • JavaScriptResult
  • ContentResult
  • FileContentResult
  • FileStreamResult
  • FilePathResult

24) Koja je važnost NonActionAttributea?

Sve javne metode klase kontrolera tretiraju se kao radna metoda ako želite spriječiti ovu zadanu metodu, tada morate dodijeliti javnu metodu s NonActionAttribute.


25) Čemu služi zadana ruta {resource}.axd/{*pathinfo}?

Zadana ruta sprječava prosljeđivanje zahtjeva za datoteku web resursa kao što je Webresource.axd ili ScriptResource.axd kontroleru.


26) Koji je redoslijed filtara koji se izvršavaju ako je implementirano više filtara?

Redoslijed filtera bi bio ovako:

  • Filtri autorizacije
  • Akcijski filteri
  • Filtri odgovora
  • Filtri izuzetaka

27) Koji se ASP.NET filteri na kraju izvršavaju?

Na kraju se izvršavaju "Filtri izuzetaka".


28) Koje su ekstenzije datoteka za preglede s oštricom?

Za oštre poglede, ekstenzije datoteka su

  • .cshtml: Ako je C# programski jezik
  • .vbhtml: Ako je VB programski jezik

29) Koja su dva načina za dodavanje ograničenja ruti?

Dvije metode za dodavanje ograničenja ruti su:

  • Korištenje regularnih izraza
  • Korištenje objekta koji implementira sučelje IRouteConstraint

30) Koja su dva slučaja u kojima usmjeravanje nije implementirano ili potrebno?

Dva slučaja u kojima usmjeravanje nije potrebno su

  • Kada se pronađe fizička datoteka koja odgovara uzorku URL-a
  • Kada je usmjeravanje onemogućeno za URL uzorak

Pitanja za MVC intervju za 5 godina iskustva

31) Koje su značajke MVC-a?

Ovo su značajke MVC-a:

  • Jednostavna provjera bez trenja. Framework koji se može visoko testirati, proširiv i pluggable.
  • Nudi potpunu kontrolu nad vašim HTML-om kao i vašim URL-ovima
  • Iskorištava postojeće značajke koje pružaju ASP.NET, JSP, Django itd.
  • Jasno razdvajanje logike: model, pogled, kontroler. Razdvajanje aplikacijskih zadataka putem poslovne logike, Ul logike i ulazne logike.
  • URL usmjeravanje za SEO friendly URL-ove. Moćno mapiranje URL-ova za razumljive i pretražive URL-ove.
  • Podrška za razvoj vođen testiranjem (TDD).

32) Koji su stvarni primjeri MVC-a?

Evo primjera MVC-a iz stvarnog života:

  • Pretpostavimo da idete u restoran. Nećete ići u kuhinju i pripremati hranu što sigurno možete raditi kod kuće. Umjesto toga, samo odite tamo i pričekajte da konobar dođe.
  • Sada vam konobar dođe, a vi samo naručite hranu. Konobar ne zna tko ste i što želite, samo je zapisao detalje vaše narudžbe hrane.
  • Zatim, konobar prelazi u kuhinju. U kuhinji vam konobar ne priprema hranu.
  • Kuharica priprema vašu hranu. Konobar dobiva vašu narudžbu zajedno s brojem vašeg stola.
  • Kuhar zatim priprema hranu za vas. On koristi sastojke za kuhanje hrane. Pretpostavimo da ste naručili sendvič s povrćem. Zatim mu je potreban kruh, rajčica, krumpir, paprika, luk, komadić, sir itd., koje dobiva iz hladnjaka
  • Kuhar konačno preda hranu konobaru. Sada je posao konobara da ovu hranu iznese izvan kuhinje.
  • Sada konobar zna koju hranu ste naručili i kako je poslužena.

U ovom slučaju,

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

33) Koja je razlika između 3 razine Architekstura i MVC Architekstura?

Ovdje je razlika između 3 razine Architekstura i MVC Architekstura:

Parametar 3-razina Architektura VMC Architektura
komunikacija Ova vrsta arhitektonskog uzorka nikada ne komunicira izravno s podatkovnim slojem. Svi slojevi komuniciraju izravno pomoću topologije trokuta.
Upotreba 3 razine: naširoko se koristi u web aplikacijama gdje klijent, podatkovne razine i međuslojni softver rade na fizički odvojenim platformama. Općenito se koristi na aplikacijama koje se izvode na jednoj grafičkoj radnoj stanici.

34) Kako možete koristiti MVC arhitekturu u JSP-u?

Sljedeći primjer pokazuje korištenje MVC arhitekture u JSP-u:

  • Uzimamo primjer obrasca s dvije varijable, "e-mail" i "password", koji je naš sloj prikaza.
  • Nakon što korisnik unese e-poštu i lozinku i klikne na pošalji, tada se akcija prosljeđuje u mvc_servlet gdje se prosljeđuju e-pošta i lozinka.
  • Ovaj mvc_servlet je sloj kontrolera. Ovdje u mvc_servletu, zahtjev se šalje bean objektu, koji djeluje kao sloj modela.
  • Vrijednosti e-pošte i lozinke postavljaju se u bean i pohranjuju za daljnje svrhe.
  • Iz beana, vrijednost se dohvaća i prikazuje u sloju prikaza.

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) Kako MVC radi u proljeće?

Evo kako MVC radi u proljeće:

  • DispatcherServlet prima zahtjev.
  • Nakon toga, DispatcherServlet komunicira s HandlerMappingom. Također opoziva kontrolera povezanog s tim određenim zahtjevom.
  • Kontroler obrađuje ovaj zahtjev pozivanjem servisnih metoda, a objekt ModelAndView vraća DispatcherServlet.
  • Naziv pogleda šalje se ViewResolveru kako bi pronašao stvarni pogled koji treba pozvati.
  • Nakon toga, DispatcherServlet se prosljeđuje Viewu za prikaz rezultata.
  • Korištenjem podataka modela, View renderira i šalje rezultat natrag korisniku.

36) Koje su važne točke koje treba zapamtiti prilikom izrade MVC aplikacije?

Evo nekoliko važnih točaka koje treba zapamtiti prilikom izrade MVC aplikacije:

  • Morate zapamtiti da ASP.net MVC nije zamjena za ASP.Net aplikacije temeljene na web obrascima
  • Pristup razvoju MVC aplikacije mora se odlučiti na temelju zahtjeva aplikacije i značajki koje pruža ASP.net MVC kako bi odgovarao specifičnim razvojnim potrebama.
  • Proces razvoja aplikacije s ASP.NET MVC složeniji je u usporedbi s aplikacijama koje se temelje na web obrascima.
  • Mogućnost održavanja aplikacije uvijek je veća s odvajanjem aplikacijskih zadataka.

37) Koja je razlika između Web obrazaca i MVC-a?

Evo razlike između web obrazaca i MVC-a:

Parametri Web obrasci VMC
Model Asp.Net Web Forms slijede razvojni model vođen događajima. Asp.Net MVC koristi razvojni model temeljen na uzorku MVC.
Koristi se od Postoji od 2002 Prvi put je objavljen 2009. godine
Podrška za stanje prikaza Asp.Net Web Forms podržava stanje prikaza za upravljanje stanjem na strani klijenta. .Net MVC ne podržava stanje prikaza.
Vrsta URL-a Asp.Net Web Forms ima URL-ove temeljene na datotekama. To znači da naziv datoteke postoji u URL-ovima i moraju postojati fizički. Asp.Net MVC ima URL-ove koji se temelje na ruti, što znači da su URL-ovi preusmjereni na kontrolere i radnje.
Sintaksa Asp.Net MVC slijedi sintaksu web obrazaca. Asp.Net MVC slijedi prilagodljivu sintaksu.
Vrsta pogleda Prikazi web obrazaca usko su povezani s pozadinskim kodom (ASPX-CS), tj. logikom. MVC pogledi i logika uvijek se drže odvojeno.
Dosljedan izgled i osjećaj Ima glavne stranice za dosljedan izgled. Asp.Net MVC ima rasporede za dosljedan izgled.
Mogućnost ponovne upotrebe koda Web Forms nudi korisničke kontrole za ponovnu upotrebu koda. Asp.Net MVC nudi djelomične prikaze za ponovnu upotrebu koda.
Kontrola za HTML Less kontrolu nad prikazanim HTML-om. Potpuna kontrola nad HTML-om
Upravljanje državom Automatsko upravljanje stanjem kontrola. Ručno upravljanje stanjem.
TDD podrška Potreban je slab ili prilagođeni TDD. Potiče i uključuje TDD!

38) Kako možete prikazati nešto u CodeIgniteru?

Evo koda za prikaz nečega u CodeIgniteru:

<?=$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) Napišite kod za demonstraciju modela, pogleda i kontrolera u CodeIgniteru.

Evo koda za demonstraciju modela, pogleda i kontrolera u CodeIgniteru:

Otvorite datoteku Welcome.php kontroler koji se nalazi u aplikaciji/kontrolerima:

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

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

Ažurirajte indeks na sljedeći način:

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

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

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

Napišite sljedeći kod u customer_model.php u aplikaciji/modeli.

<?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;
    }
}

Otvorite welcome_message.php koji se nalazi u

application/views/welcome_message.php

Zamijenite kôd sljedećim

<!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) Možete li izraditi web aplikaciju s web obrascima i MVC?

Da. Morate uključiti dolje navedene reference sklopa MVC u aplikaciju web obrazaca kako biste stvorili hibridnu aplikaciju.

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

41) Kako možete dodijeliti alias za radnju ASP.NET Web API?

Možemo dati pseudonim za radnju Web API-ja isto kao u slučaju ASP.NET MVC koristeći atribut “ActionName” na sljedeći način:

[HttpPost]

[ActionName("SaveStudentInfo")]

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

42) Koja je glavna razlika između MVC-a i WebAPI-ja?

Evo glavne razlike između MVC-a i WebAPI-ja:

MVC okvir se koristi za razvoj aplikacija koje imaju korisničko sučelje. Za to se pogledi mogu koristiti za izgradnju korisničkog sučelja.

WebAPI se koristi za razvoj HTTP usluga. Druge aplikacije također se mogu nazvati metodama WebAPI za dohvaćanje tih podataka.


43) Kako možete osigurati da Web API vraća samo JSON podatke?

Kako bi Web API serijalizirao objekt koji se vraća u JSON format i vraća samo JSON podatke. Za to biste trebali dodati sljedeći kod u klasu WebApiConfig.cs u bilo koji 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) Koja je razlika između MVVM i MVC?

Evo važnih razlika između MVVM i MVC:

VMC MVVM
Kontrolor je ulazna točka u aplikaciju. Pogled je ulazna točka u aplikaciju.
Jedan prema više odnosa između kontrolera i pogleda. Jedan prema više odnosa između View & View Model.
Pogled nema referencu na Kontrolor View ima reference na View-Model.
MVC je stari model MVVM je relativno novi model.
Teško za čitanje, promjenu, jedinično testiranje i ponovnu upotrebu ovog modela Proces otklanjanja pogrešaka bit će kompliciran kada imamo složena povezivanja podataka.
Komponenta MVC modela može se testirati odvojeno od korisnika Jednostavan za zasebno testiranje jedinica, a kod je vođen događajima.

45) Što je MVC u AngularJS?

Angular.js slijedi MVC arhitekturu, dijagram MVC okvira prikazan je u nastavku.

  • Kontroler predstavlja sloj koji ima poslovnu logiku. Korisnički događaji pokreću funkcije koje su pohranjene unutar vašeg kontrolera. Korisnički događaji dio su kontrolera.
  • Pogledi se koriste za predstavljanje prezentacijskog sloja koji se daje krajnjim korisnicima.
  • Modeli se koriste za predstavljanje vaših podataka. Podaci u vašem modelu mogu biti jednostavni poput primitivnih deklaracija. Na primjer, ako održavate studentsku aplikaciju, vaš podatkovni model može imati samo studentski ID i ime. Ili također može biti složeno jer ima strukturirani podatkovni model. Ako održavate aplikaciju za vlasništvo automobila, možete imati strukture za definiranje samog vozila u smislu njegovog kapaciteta motora, kapaciteta sjedala itd.

46) Koja je uloga MVC-a u AngularJS-u?

Slijedi jednostavna definicija rada AngularJS Controllera.

  • Primarna odgovornost kontrolora je kontrolirati podatke koji se prosljeđuju prikazu. Opseg i pogled imaju dvosmjernu komunikaciju.
  • Svojstva pogleda mogu pozivati ​​"funkcije" na opsegu. Štoviše, događaji na pogledu mogu pozivati ​​"metode" na opsegu. Donji isječak koda daje jednostavan primjer funkcije.
    • Funkcija ($scope) koja je definirana prilikom definiranja kontrolera i interna funkcija koja se koristi za vraćanje ulančavanja $scope.firstName i $scope.lastName.
    • U AngularJS-u kada definirate funkciju kao varijablu, ona je poznata kao metoda.

  • Podaci na ovaj način prolaze od kontrolera do opsega, a zatim podaci prolaze naprijed i natrag od opsega do pogleda.
  • Opseg se koristi za izlaganje modela pogledu. Model se može modificirati pomoću metoda definiranih u opsegu, koje se mogu pokrenuti putem događaja iz prikaza. Možemo definirati dvosmjerno vezanje modela od opsega do modela.
  • Upravljači se idealno ne bi trebali koristiti za manipuliranje DOM-om. To bi trebalo učiniti direktivama, što ćemo vidjeti kasnije.
  • Najbolja praksa je imati kontrolere temeljene na funkcionalnosti. Na primjer, ako imate obrazac za unos i za to vam je potreban kontroler, stvorite kontroler pod nazivom "kontroler obrasca".

47) Kako izgraditi osnovni kontroler u AngularJS

Donji isječak koda je jednostavna HTML stranica koja ima naslov "Registracija događaja" i ima reference na važne biblioteke kao što su Bootstrap, jquery i Angular.

  1. Dodajemo reference na bootstrap CSS stylesheets, koji će se koristiti u kombinaciji s bootstrap bibliotekama.
  2. Dodajemo reference na AngularJS biblioteke. Sada, što god da radimo s angular.js ubuduće, bit će referencirano iz ove biblioteke.
  3. Dodajemo reference na bootstrap biblioteku kako bi naša web stranica bolje reagirala na određene kontrole.
  4. Dodali smo reference na jquery biblioteke koje će se koristiti za manipulaciju DOM-om. To zahtijeva Angular jer neke od funkcionalnosti u Angularu ovise o ovoj biblioteci.

Prema zadanim postavkama gornji isječak koda bit će prisutan u svim našim primjerima tako da možemo prikazati samo određeni angularJS kod u sljedećim odjeljcima.

Drugo, pogledajmo naše datoteke i strukturu datoteka koje ćemo započeti s našim tečajem:

  1. Najprije odvajamo svoje datoteke u 2 mape kao što se radi s bilo kojom konvencionalnom web aplikacijom. Imamo mapu "CSS". Sadržavat će sve naše kaskadne stilske datoteke, a zatim ćemo imati našu mapu "lib", koja će sadržavati sve naše JavaScript slika.
  2. Datoteka bootstrap.css nalazi se u mapi CSS i koristi se za dodavanje dobrog izgleda i dojma našoj web stranici.
  3. Angular.js je naša glavna datoteka koja je preuzeta sa stranice angularJS i čuvana u našoj mapi lib.
  4. Datoteka app.js sadržavat će naš kod za kontrolere.
  5. Datoteka bootstrap.js koristi se kao dopuna datoteci bootstrap.cs za dodavanje funkcionalnosti pokretanja našoj web aplikaciji.
  6. Datoteka jquery koristit će se za dodavanje funkcionalnosti manipulacije DOM-om na našu stranicu.

Primjer korištenja angular.js:

Ono što ovdje želimo učiniti je samo prikazati riječi "AngularJS" u tekstualnom formatu iu tekstualnom okviru kada se stranica gleda u pregledniku.

<!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) Koja je upotreba ng-kontrolera u vanjskim datotekama u AngularJS

Izvršite sljedeće korake za korištenje ng-kontrolera u vanjskim datotekama u AngularJS

Korak 1) U datoteci app.js dodajte sljedeći kod za svoj kontroler

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

Korak 2) Sada u svoju datoteku Sample.html dodajte div klasu koja će sadržavati direktivu ng-controller, a zatim dodajte referencu na varijablu člana "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) Napisati kod za definiranje metoda u AngularJS Controlleru?

Evo koda za definiranje metoda u AngularJS Controlleru:

<!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) Napišite kod koristeći ng-model za prikaz višelinijske kontrole unosa u AngularJS.

Ovdje je kod koji koristi ng-model za prikaz višelinijske kontrole unosa u 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) Napišite kod za demonstraciju korištenja ulaznih elemenata.

Evo primjera koda koji koristi elemente unosa AngulaJS:

<!DOCTYPE html>
<html>
<head>
    <meta chrset="UTF 8">
    <title>Event Registration</title>
    <link rel="stylesheet" href="css/bootstrap.css"/>
    <script src="https://code.angularjs.org/1.6.9/angular.js"></script>
</head>
<body >
<h3> Guru99 Global Event</h3>

<div ng-app="DemoApp" ng-controller="DemoCtrl">
    <form>
        &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) Kako možete kreirati model u PHP-u?

Evo koda za izradu modela u PHP-u:

<?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) Zašto koristiti PHP MVC Framework?

Trebali biste koristiti PHP MVC Framework jer pojednostavljuje rad sa složenim tehnologijama tako što:

  • Skrivanje svih složenih detalja implementacije
  • Pružanje standardnih metoda koje možemo koristiti za izradu naših aplikacija.
  • Povećana produktivnost programera, to je zato što su osnovne implementacije aktivnosti kao što su povezivanje s bazom podataka, dezinfekcija korisničkog unosa itd. već djelomično implementirane.
  • Pridržavanje profesionalnih standarda kodiranja

54) Što su popularni PHP MVC okviri?

Evo popularnih PHP MVC okvira:

CodeIgniter: To je jedan od najpopularnijih PHP MVC okvira. Lagan je i ima kratku krivulju učenja. Ima bogat skup biblioteka koje pomažu u brzoj izradi web stranica i aplikacija. Korisnici s ograničenim znanjem OOP programiranja također ga mogu koristiti.

Kohana: To je HMVC kontroler hijerarhijskog modela koji je siguran i lagan okvir. Ima bogat skup komponenti za brz razvoj aplikacija.

CakePHP: Napravljen je po uzoru na Ruby on rails. Poznat je po konceptima kao što su obrasci dizajna softvera, konvencija nad konfiguracijom, ActiveRecord itd.

Zend: To je snažan okvir koji je;

  • Siguran, pouzdan, brz i skalabilan
  • Podržava Web 2.0 i izradu web usluga.

Sadrži API-je dobavljača poput AmazonGoogle, Flickr, Yahoo itd. Idealan je za razvoj poslovnih aplikacija.


55) Kako možete kreirati prikaze u PHP-u?

Evo koda za stvaranje prikaza u PHP-u:

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>

Kreirajmo sada stranicu s rezultatima 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>

Ova pitanja za intervju također će vam pomoći u vašem životu