Топ 55 въпроса и отговора за MVC интервю (PDF)
Въпроси и отговори за MVC интервю за първокурсници
1) Какво е модел-изглед-контролер?
MVC е модел на софтуерна архитектура за разработване на уеб приложения. Той се управлява от три обекта, модел, изглед и контролер.
👉 Безплатно изтегляне на PDF: Въпроси и отговори за MVC интервю
2) Какво представлява Model-View-Controller в MVC приложение?
В MVC модел,
- Модел– Представлява домейна на данните на приложението. С други думи, бизнес логиката на приложението се съдържа в модела и отговаря за поддържането на данните.
- Гледка– Представлява потребителския интерфейс, с който крайните потребители комуникират. Накратко, цялата логика на потребителския интерфейс се съдържа в View.
- контролер- Контролерът отговаря на действията на потребителя. Въз основа на действията на потребителя, съответният контролер отговаря в рамките на модела и избира изглед за изобразяване, който показва потребителския интерфейс. Логиката за въвеждане от потребителя се съдържа в контролера.
3) Наименувайте сборката, за да дефинирате MVC
- MVC рамка е дефиниран в сборката System.Web.Mvc.
4) Какви са различните типове връщане на метод за действие на контролера
Ето различни типове връщане на метод за действие на контролера:
- Преглед на резултата
- JavaРезултат от скрипта
- Резултат от пренасочване
- JSON резултат
- Съдържание Резултат
5) Каква е разликата между добавяне на маршрути към приложение за уеб формуляр и MVC приложение?
За да добавим маршрути към приложение за уеб формуляр, използваме метода MapPageRoute() на класа RouteCollection, докато за добавяне на маршрути към приложение MVC използваме метода MapRoute().
6) Какви са двата начина за добавяне на ограничения към маршрут?
Двата метода за добавяне на ограничения към маршрут са
- Използвайте регулярни изрази
- Използвайте обект, който имплементира интерфейс IRouteConstraint
7) Какви са предимствата на MVC?
- MVC разделя вашия проект в различен сегмент и става лесно за разработчиците да работят върху него
- Лесно е да редактирате или промените част от вашия проект, което води до по-малко разходи за разработка и поддръжка на проекта
- MVC прави вашия проект по-систематичен
- Представлява ясно разделение между бизнес логиката и логиката на представяне
- Всеки MVC обект има различни отговорности
- Развитието върви паралелно
- Лесен за управление и поддръжка
- Всички класове и обекти са независими един от друг
8) Какво правят функциите “beforeFilter()”, “beforeRender” и “afterFilter” в контролера?
- преди Филтър (): Тази функция се изпълнява преди всяко действие в контролера. Това е правилното място да проверите за активна сесия или да проверите потребителските разрешения.
- beforeRender(): Тази функция се извиква след логиката на действие на контролера, но преди изгледът да бъде изобразен. Тази функция не се използва често, но може да се наложи, ако извиквате render() ръчно преди края на дадено действие.
- afterFilter(): Тази функция се извиква след всяко действие на контролера и след приключване на изобразяването. Това е последният метод на контролера, който се изпълнява.
9) Каква е ролята на компонентите Presentation, Abstraction и Control в MVC?
Ето ролята на компонентите Presentation, Abstraction и Control в MVC:
- Презентация: Това е визуално представяне на конкретна абстракция в приложението
- Абстракция: Това е функционалността на бизнес домейна в приложението
- контрол: Това е компонент, който поддържа последователност между абстракцията в системата и тяхното представяне на потребителя в допълнение към комуникацията с други контроли в системата
10) Какви са недостатъците на модела MVC?
Ето някои важни недостатъци на модела MVC:
- Моделът на модела е малко сложен.
- Неефективност на достъпа до данни.
- С модерен потребителски интерфейс е трудно да се използва MVC.
- Имате нужда от множество програмисти за паралелна разработка.
- Необходими са многобройни технологични познания.
11) Каква е ролята на „ActionFilters“ в MVC?
В MVC „Филтри за действие“ ви помагат да изпълните логика, докато MVC действието се изпълнява или се изпълнява.
12) Какви са стъпките за изпълнение на MVC проект?
Стъпките за изпълнение на MVC проект включват:
- Получете първата заявка за приложението
- Извършване на маршрутизиране
- Създайте MVC манипулатор на заявки
- Създаване на контролер
- Изпълнение на контролера
- Извикване на действие
- Изпълнение на резултата
13) Какво е маршрутизиране и три сегмента?
Маршрутизирането ви помага да решите URL структура и да нанесете URL адреса с контролера.
Трите сегмента, които са важни за маршрутизирането, са:
- Име на контролера
- ActionMethodName
- Параметър
14) Как се извършва маршрутизирането в модела MVC?
Има група от маршрути, наречена RouteCollection, която се състои от регистрирани маршрути в приложението. Методът RegisterRoutes записва маршрутите в тази колекция. Маршрутът дефинира шаблон на URL адрес и манипулатор, който да се използва, ако заявката съответства на модела.
Първият параметър на метода MapRoute е името на маршрута. Вторият параметър ще бъде моделът, на който съвпада URL адресът. Третият параметър може да са стойностите по подразбиране за контейнерите, ако те не са определени.
15) Как можете да навигирате от един изглед към друг с помощта на хипервръзка?
Чрез използване на метода „ActionLink“, както е показано в кода по-долу. Кодът по-долу ще създаде прост URL адрес, който помага за навигиране до контролера „Начало“ и извикване на действието „GotoHome“.
Свиване / копиране на код
<%= Html.ActionLink("Home", "Gotohome") %>
MVC Интервю Въпроси и отговори за опитни
16) Как се поддържат сесиите в MVC?
Сесиите могат да се поддържат в MVC по три начина: tempdata, viewdata и viewbag.
17) Каква е разликата между Temp data, View data и View Bag?
- Временни данни: Помага за поддържане на данни, когато преминавате от един контролер към друг контролер.
- Преглед на данни: Помага за поддържане на данни, когато преминавате от контролера към изгледа.
- Вижте чантата: Това е динамична обвивка около данни за изглед.
18) Какво е частичен изглед в MVC?
Частичният изглед в MVC изобразява част от съдържанието на изгледа. Полезно е за намаляване на дублирането на кодове. С прости думи, частичният изглед позволява рендиране на изглед в родителския изглед.
19) Как можете да внедрите Ajax в MVC?
В MVC Ajax може да бъде внедрен по два начина
- Ajax библиотеки
- jquery
20) Каква е разликата между „ActionResult“ и „ViewResult“?
„ActionResult“ е абстрактен клас, докато „ViewResult“ е извлечен от клас „AbstractResult“. „ActionResult“ има редица производни класове като „JsonResult“, „FileStreamResult“ и „ViewResult“.
„ActionResult“ е най-добър, ако динамично извличате различни типове изгледи.
21) Как можете да изпратите резултата обратно във формат JSON в MVC?
За да изпратите резултата обратно във формат JSON в MVC, можете да използвате класа „JSONRESULT“.
22) Каква е разликата между изглед и частичен изглед?
Ето разликата между изглед и частичен изглед
Гледка | Частичен изглед |
---|---|
Той съдържа страницата с оформлението | Не съдържа страницата с оформлението |
Преди да бъде изобразен какъвто и да е изглед, се изобразява началната страница на изгледа | Частичният изглед не проверява за viewstart.cshtml. Не можем да поставим общ код за частичен изглед в viewStart.cshtml.page |
Изгледът може да има етикети за маркиране като body, html, head, title, meta и др. | Частичният изглед е проектиран специално за изобразяване в рамките на изгледа и точно поради това не съдържа никакво маркиране |
Изгледът не е лек в сравнение с частичен изглед | Можем да предадем обикновен изглед към метода RenderPartial |
23) Какви са типовете резултати в MVC?
В MVC има дванадесет типа резултати, където класът „ActionResult“ е основният клас, докато 11-те са техните подтипове:
- ViewResult
- PartialViewResult
- EmptyResult
- RedirectResult
- RedirectToRouteResult
- JsonResult
- JavaScriptResult
- ContentResult
- FileContentResult
- FileStreamResult
- FilePathResult
24) Какво е значението на NonActionAttribute?
Всички публични методи на клас на контролер се третират като метод на действие, ако искате да предотвратите този метод по подразбиране, тогава трябва да присвоите публичния метод с NonActionAttribute.
25) Каква е употребата на маршрута по подразбиране {resource}.axd/{*pathinfo}?
Маршрутът по подразбиране предотвратява предаването на заявки за файл с уеб ресурси като Webresource.axd или ScriptResource.axd към контролера.
26) Какъв е редът на филтрите, които се изпълняват, ако са внедрени множество филтри?
Редът на филтъра ще бъде като:
- Филтри за оторизация
- Филтри за действие
- Филтри за отговор
- Филтри за изключения
27) Какви ASP.NET филтри се изпълняват в крайна сметка?
В крайна сметка се изпълняват „Филтри за изключения“.
28) Какви са файловите разширения за изгледи с бръснач?
За изгледи с бръснач файловите разширения са
- .cshtml: Ако C# е езикът за програмиране
- .vbhtml: Ако VB е езикът за програмиране
29) Какви са двата начина за добавяне на ограничения към маршрут?
Два метода за добавяне на ограничения към маршрута са:
- Използване на регулярни изрази
- Използване на обект, който имплементира интерфейс IRouteConstraint
30) Кои са двата случая, при които маршрутизирането не е внедрено или не е необходимо?
Два случая, при които не е необходимо маршрутизиране, са
- Когато се намери физически файл, който съответства на URL модела
- Когато маршрутизирането е деактивирано за URL модел
Въпроси за интервю за MVC за 5 години опит
31) Какви са характеристиките на MVC?
Ето характеристиките на MVC:
- Лесна и без триене възможност за тестване. Високо тестваема, разширяема и включваща се рамка.
- Предлага пълен контрол върху вашия HTML, както и върху вашите URL адреси
- Използва съществуващи функции, предоставени от ASP.NET, JSP, Django и др.
- Ясно разделяне на логиката: модел, изглед, контролер. Разделяне на задачите на приложението чрез бизнес логика, Ul логика и входна логика.
- URL маршрутизиране за SEO удобни URL адреси. Мощно URL-картографиране за разбираеми и търсещи URL адреси.
- Поддръжка за разработка, управлявана от тестове (TDD).
32) Какви са реалните примери за MVC?
Ето пример от реалния живот на MVC:
- Да предположим, че отивате на ресторант. Няма да отидете в кухнята и да приготвите храна, което със сигурност можете да направите у дома. Вместо това просто отивате там и чакате сервитьора да дойде.
- Сега сервитьорът идва при вас и вие просто поръчвате храната. Сервитьорът не знае кой сте и какво искате, той просто записа подробностите за вашата поръчка за храна.
- След това сервитьорът се премества в кухнята. В кухнята сервитьорът не приготвя храната ви.
- Готвачът приготвя вашата храна. Сервитьорът получава вашата поръчка заедно с номера на вашата маса.
- След това готвачът приготвя храна за вас. Той използва съставки за приготвяне на храната. Да приемем, че сте поръчали зеленчуков сандвич. След това той се нуждае от хляб, домат, картоф, люта чушка, лук, хапка, сирене и др., които са източниците от хладилника
- Най-накрая Кук предава храната на сервитьора. Сега е работа на сервитьора да пренесе тази храна извън кухнята.
- Сега сервитьорът знае коя храна сте поръчали и как се сервира.
В такъв случай,
View= You Waiter= Controller Cook= Model Refrigerator= Data
33) Каква е разликата между 3 нива Architecture и MVC Archiтекстура?
Ето разликата между 3 нива Architecture и MVC Archiтекстура:
Параметър | 3-Tier Archiтекстура | MVC Archiтекстура |
---|---|---|
общуване | Този тип архитектурен модел никога не комуникира директно със слоя данни. | Всички слоеве комуникират директно чрез триъгълна топология. |
употреба | 3 нива: широко използвани в уеб приложения, където клиентът, нивата на данни и междинният софтуер работят на физически отделни платформи. | Обикновено се използва в приложения, които работят на една графична работна станция. |
34) Как можете да използвате MVC архитектура в JSP?
Следващият пример показва използването на MVC архитектура в JSP:
- Взимаме пример с формуляр с две променливи, „имейл“ и „парола“, който е нашият слой за изглед.
- След като потребителят въведе имейл и парола и щракне върху изпращане, тогава действието се предава в mvc_servlet, където се предават имейл и парола.
- Този mvc_servlet е контролен слой. Тук, в mvc_servlet, заявката се изпраща до bean обекта, който действа като моделен слой.
- Стойностите за имейл и парола се задават в компонента и се съхраняват за по-нататъшни цели.
- От bean стойността се извлича и показва в слоя за изглед.
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) Как MVC работи през пролетта?
Ето как работи MVC през пролетта:
- DispatcherServlet получава заявка.
- След това DispatcherServlet комуникира с HandlerMapping. Той също така отменя контролера, свързан с тази конкретна заявка.
- Контролерът обработва тази заявка чрез извикване на сервизните методи и обект ModelAndView се връща от DispatcherServlet.
- Името на изгледа се изпраща на ViewResolver, за да намери действителния изглед за извикване.
- След това DispatcherServlet се предава на View за изобразяване на резултата.
- Използвайки данните на модела, изгледът изобразява и изпраща резултат обратно на потребителя.
36) Кои са важните точки, които трябва да запомните, докато създавате MVC приложение?
Ето някои важни точки, които трябва да запомните, докато създавате MVC приложение:
- Трябва да запомните, че ASP.net MVC не е заместител на приложенията, базирани на уеб формуляри на ASP.Net
- Подходът за разработване на MVC приложения трябва да бъде решен въз основа на изискванията и функциите на приложението, предоставени от ASP.net MVC, за да отговарят на специфичните нужди за разработка.
- Процесът на разработка на приложения с ASP.NET MVC е по-сложен в сравнение с приложенията, базирани на уеб формуляри.
- Поддържаемостта на приложението винаги е по-висока с разделянето на задачите на приложението.
37) Каква е разликата между Web Forms и MVC?
Ето разликата между уеб формуляри и MVC:
параметри | Уеб формуляри | MVC |
---|---|---|
Модел | Asp.Net Web Forms следват управляван от събития модел на разработка. | Asp.Net MVC използва модел за разработка, базиран на MVC модел. |
Използва се от | Съществува от 2002 г | Издадена е за първи път през 2009 г |
Поддръжка за състояние на изглед | Asp.Net Web Forms поддържа състояние на изглед за управление на състоянието от страна на клиента. | .Net MVC не поддържа състояние на изглед. |
URL тип | Asp.Net Web Forms има базирани на файлове URL адреси. Това означава, че името на файла съществува в URL адресите и те трябва да съществуват физически. | Asp.Net MVC има базирани на маршрут URL адреси, което означава, че URL адресите се пренасочват към контролери и действия. |
Синтаксис | Asp.Net MVC следва синтаксиса на уеб формуляри. | Asp.Net MVC следва адаптивния синтаксис. |
Тип изглед | Изгледите на Web Forms са тясно свързани със задния код (ASPX-CS), т.е. логиката. | MVC изгледите и логиката винаги се съхраняват отделно. |
Постоянен вид и усещане | Има главни страници за последователен външен вид. | Asp.Net MVC има оформления за последователен външен вид. |
Повторна употреба на кода | Web Forms предлага потребителски контроли за повторно използване на кода. | Asp.Net MVC предлага частични изгледи за повторно използване на кода. |
Контрол за HTML | Less контрол върху изобразения HTML. | Пълен контрол над HTML |
Държавно управление | Автоматично управление на състоянието на контролите. | Ръчно управление на държавата. |
TDD поддръжка | Изисква се слаб или персонализиран TDD. | Насърчава и включва TDD! |
38) Как можете да покажете нещо в CodeIgniter?
Ето код за показване на нещо в 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) Напишете код, за да демонстрирате модел, изглед и контролер в CodeIgniter.
Ето код за демонстриране на модел, изглед и контролер в CodeIgniter:
Отворете файла Welcome.php контролер намира приложение/контролери:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Актуализирайте индекса, както следва:
public function index() { $this->load->model('customers_model'); $data['customer'] = $this->customers_model->get_customer(3); $this->load->view('welcome_message',$data); }
Напишете следния код в customer_model.php в 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; } }
Отворете welcome_message.php, който се намира в
application/views/welcome_message.php
Заменете кода със следния
<!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) Можете ли да създадете уеб приложение с уеб формуляри и MVC?
да Трябва да включите по-долу препратките към MVC асемблиране в приложението за уеб формуляри, за да създадете хибридно приложение.
System.Web.Mvc System.Web.Razor System.ComponentModel.DataAnnotations
41) Как можете да зададете име на псевдоним за действие на ASP.NET Web API?
Можем да дадем име на псевдоним за действие на Web API, същото като в случай на ASP.NET MVC, като използваме атрибута „ActionName“, както следва:
[HttpPost] [ActionName("SaveStudentInfo")] public void UpdateStudent(Student aStudent) { StudentRepository.AddStudent(aStudent); }
42) Каква е основната разлика между MVC и WebAPI?
Ето основната разлика между MVC и WebAPI:
MVC рамката се използва за разработване на приложения, които имат потребителски интерфейс. За това могат да се използват изгледи за изграждане на потребителски интерфейс.
WebAPI се използва за разработване на HTTP услуги. Други приложения също могат да бъдат наречени WebAPI методи за извличане на тези данни.
43) Как можете да гарантирате, че Web API връща само JSON данни?
За да накарате Web API да сериализира връщащия обект във формат JSON и да връща само JSON данни. За целта трябва да добавите следния код в класа WebApiConfig.cs във всеки MVC Web API проект:
//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) Каква е разликата между MVVM и MVC?
Ето важните разлики между MVVM и MVC:
MVC | MVVM |
---|---|
Контролерът е входната точка към приложението. | Изгледът е входната точка към приложението. |
Едно към много взаимоотношения между контролер и изглед. | Връзки едно към много между View & View Model. |
Изгледът няма препратка към контролера | View имат препратки към View-Model. |
MVC е стар модел | MVVM е сравнително нов модел. |
Труден за четене, промяна, тестване на единица и повторно използване на този модел | Процесът на отстраняване на грешки ще бъде сложен, когато имаме сложни обвързвания на данни. |
Компонентът на модела MVC може да бъде тестван отделно от потребителя | Лесен за отделно тестване на единици и кодът се управлява от събития. |
45) Какво е MVC в AngularJS?
Angular.js следва MVC архитектурата, диаграмата на MVC рамката е показана по-долу.
- Контролерът представлява слоя, който има бизнес логиката. Потребителските събития задействат функциите, които се съхраняват във вашия контролер. Потребителските събития са част от контролера.
- Изгледите се използват за представяне на презентационния слой, който се предоставя на крайните потребители.
- Моделите се използват за представяне на вашите данни. Данните във вашия модел могат да бъдат толкова прости, колкото просто да имате примитивни декларации. Например, ако поддържате студентско приложение, вашият модел на данни може да има само идентификатор на студент и име. Или също така може да бъде сложно, като има структуриран модел на данни. Ако поддържате приложение за собственост на автомобил, можете да имате структури, които да дефинират самото превозно средство по отношение на неговия обем на двигателя, капацитет на седалките и т.н.
46) Каква е ролята на MVC в AngularJS?
Следва проста дефиниция на работата на AngularJS Controller.
- Основната отговорност на администратора е да контролира данните, които се предават на изгледа. Обхватът и изгледът имат двупосочна комуникация.
- Свойствата на изгледа могат да извикват „функции“ в обхвата. Освен това събитията в изгледа могат да извикат „методи“ в обхвата. Кодовият фрагмент по-долу дава прост пример за функция.
- Функцията ($scope), която се дефинира при дефиниране на контролера и вътрешна функция, която се използва за връщане на конкатенацията на $scope.firstName и $scope.lastName.
- В AngularJS, когато дефинирате функция като променлива, тя е известна като метод.
- Данните по този начин преминават от контролера към обхвата и след това данните преминават напред и назад от обхвата към изгледа.
- Обхватът се използва за излагане на модела на изгледа. Моделът може да бъде модифициран чрез методи, дефинирани в обхвата, които могат да бъдат задействани чрез събития от изгледа. Можем да дефинираме двупосочно свързване на модела от обхвата към модела.
- В идеалния случай контролерите не трябва да се използват за манипулиране на DOM. Това трябва да стане с директивите, които ще видим по-късно.
- Най-добрата практика е да имате контролери, базирани на функционалност. Например, ако имате формуляр за въвеждане и имате нужда от контролер за това, създайте контролер, наречен „контролер на формуляр“.
47) Как да изградите основен контролер в AngularJS
Кодовият фрагмент по-долу е проста HTML страница, която има заглавие „Регистрация на събитие“ и има препратки към важни библиотеки като Bootstrap, jquery и Angular.
- Добавяме препратки към листовете със стилове на CSS за първоначално зареждане, които ще се използват заедно с библиотеките за начално зареждане.
- Добавяме препратки към библиотеките AngularJS. Така че сега, каквото и да правим с angular.js занапред, ще бъде препращано от тази библиотека.
- Добавяме препратки към библиотеката за стартиране, за да направим нашата уеб страница по-отзивчива за определени контроли.
- Добавихме препратки към jquery библиотеки, които ще се използват за манипулиране на DOM. Това се изисква от Angular, тъй като някои от функционалностите в Angular зависят от тази библиотека.
По подразбиране горният кодов фрагмент ще присъства във всички наши примери, така че да можем да покажем само конкретния angularJS код в следващите секции.
Второ, нека да разгледаме нашите файлове и файлова структура, които ще започнем с нашия курс:
- Първо, разделяме нашите файлове в 2 папки, както се прави с всяко конвенционално уеб приложение. Имаме папката „CSS“. Той ще съдържа всички наши каскадни файлове със стилови таблици и след това ще имаме папката „lib“, която ще съдържа всички наши JavaСценарий файлове.
- Файлът bootstrap.css се поставя в папката CSS и се използва за добавяне на добър външен вид и усещане за нашия уебсайт.
- Angular.js е нашият основен файл, който беше изтеглен от сайта на angularJS и се съхранява в нашата папка lib.
- Файлът app.js ще съдържа нашия код за контролерите.
- Файлът bootstrap.js се използва за допълване на файла bootstrap.cs за добавяне на функционалност за стартиране към нашето уеб приложение.
- Файлът jquery ще се използва за добавяне на функционалност за манипулиране на DOM към нашия сайт.
Пример за използване на angular.js:
Това, което искаме да направим тук, е просто да покажем думите „AngularJS“ както в текстов формат, така и в текстово поле, когато страницата се преглежда в браузъра.
<!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) Каква е употребата на ng-controller във външни файлове в AngularJS
Изпълнете следните стъпки, за да използвате ng-controller във външни файлове в AngularJS
Стъпка 1) Във файла app.js добавете следния код за вашия контролер
angular.module('app',[]).controller('HelloWorldCtrl',function($scope) { $scope.message = "Hello World" });
Стъпка 2) Сега във вашия файл Sample.html добавете клас div, който ще съдържа директивата ng-controller и след това добавете препратка към членската променлива „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) Напишете код за дефиниране на методи в AngularJS Controller?
Ето код за дефиниране на методи в 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) Напишете код с помощта на ng-model за показване на многоредов входен контрол в AngularJS.
Ето код, използващ ng-model за показване на многоредов входен контрол в 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) Напишете код, за да демонстрирате използването на входни елементи.
Ето пример за код, използващ входни елементи AngulaJS:
<!DOCTYPE html> <html> <head> <meta chrset="UTF 8"> <title>Event Registration</title> <link rel="stylesheet" href="css/bootstrap.css"/> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> </head> <body > <h3> Guru99 Global Event</h3> <div ng-app="DemoApp" ng-controller="DemoCtrl"> <form> Topic Description:<br> <br> Name : <input type="text" ng-model="pname"><br> Topic : <br> <input type="checkbox" ng-model="Topic.Controller">Controller<br> <input type="checkbox" ng-model="Topic.Models">Models </form> </div> <script> var app = angular.module('DemoApp',[]); app.controller('DemoCtrl', function($scope){ $scope.pname="Guru99"; $scope.Topic = { Controller:true, Models:false }; }); </script> </body> </html>
52) Как можете да създадете модел в PHP?
Ето код за създаване на модел в 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) Защо да използваме PHP MVC Framework?
Трябва да използвате PHP MVC Framework, защото опростява работата със сложни технологии чрез:
- Скриване на всички сложни детайли на изпълнението
- Предоставяне на стандартни методи, които можем да използваме за изграждане на нашите приложения.
- Повишена производителност на разработчиците, това се дължи на факта, че основното изпълнение на дейности като свързване към базата данни, дезинфекция на потребителския вход и т.н., вече са частично внедрени.
- Спазване на професионалните стандарти за кодиране
54) Какво представляват популярните PHP MVC рамки?
Ето популярни PHP MVC рамки:
CodeIgniter: Това е една от най-популярните PHP MVC рамки. Той е лек и има кратка крива на обучение. Има богат набор от библиотеки, които помагат за бързото изграждане на уебсайтове и приложения. Потребители с ограничени познания за ООП програмиране също могат да го използват.
Кохана: Това е HMVC контролер за изглед на йерархичен модел, който е сигурна и лека рамка. Има богат набор от компоненти за бързо разработване на приложения.
CakePHP: Моделиран е след Ruby on rails. Известен е с концепции като модели на софтуерен дизайн, конвенция над конфигурацията, ActiveRecord и т.н.
Зенд: Това е мощна рамка, която е;
- Сигурен, надежден, бърз и мащабируем
- Поддържа Web 2.0 и създаване на уеб услуги.
Той включва API от доставчици като Amazon, Google, Flickr, Yahoo и др. Той е идеален за разработване на бизнес приложения.
55) Как можете да създавате изгледи в PHP?
Ето код за създаване на изгледи в 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>
Нека сега създадем страницата с резултати 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>
Тези въпроси за интервюто също ще ви помогнат във вашата viva (устна)