Топ-55 запитань і відповідей на інтерв’ю MVC (PDF)
Запитання та відповіді на співбесіді MVC для першокурсників
1) Що таке Model-View-Controller?
MVC — це шаблон архітектури програмного забезпечення для розробки веб-додатків. Він обробляється трьома об’єктами: моделлю, поданням і контролером.
👉 Безкоштовне завантаження PDF: запитання та відповіді на інтерв’ю MVC
2) Що представляє Model-View-Controller у програмі MVC?
У моделі MVC,
- Модель– Він представляє область даних програми. Іншими словами, бізнес-логіка програми міститься в моделі та відповідає за збереження даних.
- вид– Він представляє інтерфейс користувача, за допомогою якого спілкуються кінцеві користувачі. Коротше кажучи, уся логіка інтерфейсу користувача міститься у View.
- Контролер- Саме контролер відповідає на дії користувача. На основі дій користувача відповідний контролер відповідає всередині моделі та вибирає для візуалізації подання, яке відображає інтерфейс користувача. Логіка введення користувача міститься в контролері.
3) Назвіть збірку для визначення MVC
Команда MVC Framework визначається в збірці System.Web.Mvc.
4) Які є різні типи повернення методу дії контролера
Ось різні типи повернення методу дії контролера:
- Переглянути результат
- JavaРезультат сценарію
- Результат перенаправлення
- Результат JSON
- Змістовий результат
5) Яка різниця між додаванням маршрутів до програми веб-форми та програми MVC?
Щоб додати маршрути до програми веб-форми, ми використовуємо метод MapPageRoute() класу RouteCollection, а для додавання маршрутів до програми MVC ми використовуємо метод MapRoute().
6) Якими є два способи додати обмеження до маршруту?
Є два методи додавання обмежень до маршруту
- Використовуйте регулярні вирази
- Використовуйте об’єкт, який реалізує інтерфейс IRouteConstraint
7) Які переваги MVC?
- MVC поділяє ваш проект на інший сегмент, і розробникам стає легко працювати над ним
- Легко редагувати або змінювати деякі частини вашого проекту, що знижує витрати на розробку та підтримку проекту
- MVC робить ваш проект більш систематичним
- Він чітко розмежовує бізнес-логіку та логіку презентації
- Кожен об’єкт MVC має різні обов’язки
- Паралельно йде розвиток
- Простий в управлінні та обслуговуванні
- Усі класи та об’єкти незалежні один від одного
8) Що роблять функції «beforeFilter()», «beforeRender» і «afterFilter» у контролері?
- beforeFilter(): Ця функція запускається перед кожною дією в контролері. Це правильне місце, щоб перевірити наявність активного сеансу або перевірити дозволи користувача.
- 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-адресу з контролером.
Для маршрутизації важливі три сегменти:
- ControllerName
- ActionMethodName
- Параметр
14) Як виконується маршрутизація в шаблоні MVC?
Існує група маршрутів під назвою RouteCollection, яка складається із зареєстрованих маршрутів у програмі. Метод RegisterRoutes записує маршрути в цю колекцію. Маршрут визначає шаблон URL-адреси та обробник для використання, якщо запит відповідає шаблону.
Першим параметром методу MapRoute є назва маршруту. Другим параметром буде шаблон, якому відповідає URL-адреса. Третім параметром можуть бути значення за замовчуванням для заповнювачів, якщо вони не визначені.
15) Як можна переходити від одного перегляду до іншого за допомогою гіперпосилання?
Використовуючи метод «ActionLink», як показано в коді нижче. Наведений нижче код створить просту URL-адресу, яка допоможе перейти до контролера «Home» і викликати дію «GotoHome».
Згорнути/Копіювати код
<%= Html.ActionLink("Home", "Gotohome") %>
Запитання та відповіді на співбесіді MVC для досвідчених
16) Як підтримуються сесії в MVC?
Сеанси можна підтримувати в MVC трьома способами: tempdata, viewdata та viewbag.
17) Яка різниця між тимчасовими даними, переглядом даних і переглядом сумки?
- Тимчасові дані: Це допомагає зберігати дані, коли ви переходите з одного контролера на інший.
- Переглянути дані: Це допомагає зберігати дані, коли ви переходите від контролера до перегляду.
- Переглянути сумку: Це динамічна обгортка даних перегляду.
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-ярусний Archiтектури та MVC Archiтектура?
Ось різниця між 3-рівневим Archiтектури та MVC Archiтекстура:
Параметр | 3-рівневий Archiтектура | MVC Archiтектура |
---|---|---|
Комунікація | Цей тип шаблону архітектури ніколи не зв’язується безпосередньо з рівнем даних. | Усі рівні взаємодіють безпосередньо за допомогою трикутної топології. |
Використання | 3-рівневий: широко використовується у веб-додатках, де клієнт, рівні даних і проміжне програмне забезпечення працюють на фізично окремих платформах. | Зазвичай використовується в програмах, які працюють на одній графічній робочій станції. |
34) Як можна використовувати архітектуру MVC у JSP?
У наступному прикладі показано використання архітектури MVC у JSP:
- Ми беремо приклад форми з двома змінними, «email» і «password», які є нашим рівнем перегляду.
- Коли користувач вводить адресу електронної пошти та пароль і натискає «Надіслати», дія передається в mvc_servlet, де передаються адреса електронної пошти та пароль.
- Цей mvc_servlet є контролерним рівнем. Тут, у mvc_servlet, запит надсилається до bean-об’єкта, який діє як рівень моделі.
- Значення електронної пошти та пароля встановлюються в 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 працює у Spring?
Ось як MVC працює навесні:
- DispatcherServlet отримує запит.
- Після цього DispatcherServlet спілкується з HandlerMapping. Він також скасовує контролер, пов’язаний із цим запитом.
- Контролер обробляє цей запит, викликаючи методи служби, а об’єкт ModelAndView повертається DispatcherServlet.
- Назва представлення надсилається до ViewResolver, щоб знайти фактичне представлення для виклику.
- Після цього DispatcherServlet передається в View для відтворення результату.
- Використовуючи дані моделі, View рендерить і надсилає користувачеві результат.
36) Які важливі моменти слід пам’ятати під час створення програми MVC?
Ось кілька важливих моментів, про які слід пам’ятати під час створення програми MVC:
- Потрібно пам’ятати, що ASP.net MVC не є заміною для програм на основі веб-форм ASP.Net
- Підхід до розробки додатків MVC слід вирішувати на основі вимог до додатків і функцій, які надає ASP.net MVC, щоб відповідати конкретним потребам розробки.
- Процес розробки додатків за допомогою ASP.NET MVC складніший порівняно з додатками на основі веб-форм.
- Супроводжуваність додатків завжди вища з розділенням завдань додатків.
37) Яка різниця між веб-формами та MVC?
Ось різниця між веб-формами та MVC:
Параметри | Веб-форми | MVC |
---|---|---|
Модель | Веб-форми Asp.Net дотримуються моделі розробки, керованої подіями. | 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 дотримується настроюваного синтаксису. |
Вид перегляду | Перегляди веб-форм тісно пов’язані з кодом (ASPX-CS), тобто логікою. | Представлення MVC і логіка завжди зберігаються окремо. |
Послідовний вигляд і відчуття | Він має головні сторінки для узгодженого вигляду. | Asp.Net MVC має макети для узгодженого вигляду. |
Повторне використання коду | Веб-форми пропонують користувачам елементи керування для повторного використання коду. | 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 у програмі/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 Action?
Ми можемо дати псевдонім для дії 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) Як ви можете гарантувати, що веб-API повертає лише дані JSON?
Щоб веб-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 | МВВМ |
---|---|
Контролер є точкою входу до програми. | Перегляд є точкою входу до програми. |
Відносини один до багатьох між контролером і переглядом. | Відношення один до багатьох між View & View Model. |
Представлення не має посилання на контролер | View має посилання на View-Model. |
MVC є старою моделлю | MVVM є відносно новою моделлю. |
Цю модель важко читати, змінювати, тестувати одиниці та повторно використовувати | Процес налагодження буде складним, якщо у нас є складні зв’язки даних. |
Компонент моделі MVC можна протестувати окремо від користувача | Простий для тестування окремих модулів, а код керується подіями. |
45) Що таке MVC в AngularJS?
Angular.js відповідає архітектурі MVC, діаграма фреймворку MVC показана нижче.
- Контролер представляє рівень, який має бізнес-логіку. Події користувача запускають функції, які зберігаються у вашому контролері. Події користувача є частиною контролера.
- Перегляди використовуються для представлення рівня презентації, який надається кінцевим користувачам.
- Моделі використовуються для представлення ваших даних. Дані у вашій моделі можуть бути такими ж простими, як просто мати примітивні оголошення. Наприклад, якщо ви підтримуєте студентську програму, ваша модель даних може містити лише ідентифікатор студента та ім’я. Або це також може бути складним через наявність структурованої моделі даних. Якщо ви підтримуєте програму володіння автомобілем, ви можете мати структури для визначення самого автомобіля з точки зору об’єму двигуна, кількості місць тощо.
46) Яка роль MVC в AngularJS?
Нижче наведено просте визначення роботи контролера AngularJS.
- Основна відповідальність контролера полягає в тому, щоб контролювати дані, які передаються в представлення. Приціл і вид мають двосторонній зв'язок.
- Властивості представлення можуть викликати «функції» в області. Крім того, події в представленні можуть викликати «методи» в області. Наведений нижче фрагмент коду надає простий приклад функції.
- Функція ($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», у якій будуть усі наші JavaScript файли.
- Файл 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-контролера у зовнішніх файлах в 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?
Ось код для визначення методів у контролері AngularJS:
<!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 тощо.
Zend: Це потужна структура, яка є;
- Безпечний, надійний, швидкий і масштабований
- Підтримує Web 2.0 і створення веб-сервісів.
Він містить API від таких постачальників, як AmazonGoogle 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>
Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)