As 55 principais perguntas e respostas da entrevista MVC (PDF)

Aqui estão as perguntas da entrevista MVC para candidatos mais novos e experientes para conseguir o emprego dos sonhos.

 

Perguntas e respostas da entrevista MVC para calouros

1) O que é Model-View-Controller?

MVC é um padrão de arquitetura de software para desenvolvimento.ping Aplicações web. Elas são gerenciadas por três objetos: Modelo, Visão e Controlador.

👉 Download gratuito de PDF: Perguntas e respostas da entrevista MVC


2) O que Model-View-Controller representa em uma aplicação MVC?

Em um modelo MVC,

  • Modelo– Representa o domínio de dados do aplicativo. Em outras palavras, a lógica de negócios de uma aplicação está contida no modelo e é responsável pela manutenção dos dados.
  • Consultar– Representa a interface do usuário com a qual os usuários finais se comunicam. Resumindo, toda a lógica da interface do usuário está contida no View.
  • Controlador- É o controlador que responde às ações do usuário. Com base nas ações do usuário, o respectivo controlador responde dentro do modelo e escolhe uma visualização para renderizar que exibe a interface do usuário. A lógica de entrada do usuário está contida no controlador.

3) Nomeie o assembly para definir MVC

O Estrutura MVC é definido no assembly System.Web.Mvc.


4) Quais são os diferentes tipos de retorno de um método de ação do controlador

Aqui estão diferentes tipos de retorno de um método de ação do controlador:

  • Ver Resultado
  • JavaResultado do script
  • Resultado de redirecionamento
  • Resultado JSON
  • Resultado de conteúdo

5) Qual é a diferença entre adicionar rotas a uma aplicação webform e a uma aplicação MVC?

Para adicionar rotas a um aplicativo webform, usamos o método MapPageRoute() da classe RouteCollection, enquanto para adicionar rotas a um aplicativo MVC, usamos o método MapRoute().


6) Quais são as duas maneiras de adicionar restrições a uma rota?

Os dois métodos para adicionar restrições a uma rota são

  • Use expressões regulares
  • Use um objeto que implemente a interface IRouteConstraint

7) Quais são as vantagens do MVC?

  • O MVC separa seu projeto em um segmento diferente e fica mais fácil para os desenvolvedores trabalharem nele.
  • É fácil editar ou alterar alguma parte do seu projeto que se beneficie com menor custo de desenvolvimento e manutenção do projeto
  • MVC torna seu projeto mais sistemático
  • Representa uma separação clara entre lógica de negócios e lógica de apresentação
  • Cada objeto MVC tem responsabilidades diferentes
  • O desenvolvimento progride em paralelo
  • Fácil de gerenciar e manter
  • Todas as classes e objetos são independentes uns dos outros

8) O que as funções “beforeFilter()”,”beforeRender” e “afterFilter” fazem no Controller?

  • antesFiltro(): Esta função é executada antes de cada ação no controlador. É o lugar certo para verificar uma sessão ativa ou inspecionar as permissões do usuário.
  • antesRender(): Esta função é chamada após a lógica de ação do controlador, mas antes da visualização ser renderizada. Esta função não é usada com frequência, mas pode ser necessária se você estiver chamando render() manualmente antes do final de uma determinada ação.
  • depoisFiltro(): Esta função é chamada após cada ação do controlador e após a conclusão da renderização. É o último método do controlador a ser executado.

9) Qual é o papel dos componentes Apresentação, Resumo?tracção e controle em MVC?

Eis aqui o papel dos componentes: Apresentação, Resumo.tracção e controle em MVC:

  • Apresentação: É a representação visual de um abdômen específico.tracção dentro do aplicativo
  • Abstracção: É a funcionalidade do domínio comercial dentro do aplicativo
  • Ao controle: É um componente que mantém a consistência entre os abdominais.tracção dentro do sistema e sua apresentação ao usuário, além da comunicação com outros controles dentro do sistema.

10) Quais são as desvantagens do modelo MVC?

Aqui estão algumas desvantagens importantes do modelo MVC:

  • O padrão do modelo é um pouco complexo.
  • Ineficiência de acesso aos dados em vista.
  • Com uma interface de usuário moderna, é difícil usar o MVC.
  • Você precisa de vários programadores para desenvolvimento paralelo.
  • É necessário conhecimento de múltiplas tecnologias.

11) Qual é o papel dos “ActionFilters” no MVC?

No MVC, “ActionFilters” ajudam você a executar a lógica enquanto a ação MVC é executada ou está em execução.


12) Quais são as etapas para execução de um projeto MVC?

As etapas para a execução de um projeto MVC incluem:

  • Receba a primeira solicitação do aplicativo
  • Executar roteamento
  • Crie um manipulador de solicitação MVC
  • Criar controlador
  • Executar controlador
  • Invocar ação
  • Executar resultado

13) O que é roteamento e três segmentos?

O roteamento ajuda você a decidir um URL estrutura e mapa do URL com o Controlador.

Os três segmentos importantes para o roteamento são:

  • NomeDoControlador
  • ActionMethodName
  • Parâmetro

14) Como é feito o roteamento no padrão MVC?

Existe um grupo de rotas chamado `RouteCollection`, que consiste em rotas registradas na aplicação. O método `RegisterRoutes` registra as rotas nessa coleção. Uma rota define uma URL padrão e um manipulador a ser usado caso a solicitação corresponda ao padrão.

O primeiro parâmetro do método MapRoute é o nome da rota. O segundo parâmetro será o padrão ao qual a rota será atribuída. URL correspondências. O terceiro parâmetro pode ser os valores padrão para os marcadores de posição, caso não sejam determinados.


15) Como você pode navegar de uma visualização para outra usando um hiperlink?

Utilizando o método “ActionLink”, conforme mostrado no código abaixo, você criará um link simples. URL Isso ajuda a navegar até o controlador "Início" e invocar a ação "Ir para Casa".

Recolher / Copiar Code

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

Perguntas e respostas da entrevista MVC para experientes

16) Como as sessões são mantidas no MVC?

As sessões podem ser mantidas no MVC de três maneiras: tempdata, viewdata e viewbag.


17) Qual é a diferença entre dados temporários, visualizar dados e visualizar bolsa?

  • Dados de temperatura: Ajuda a manter os dados quando você muda de um controlador para outro.
  • Ver dados: Ajuda a manter os dados quando você passa do controlador para a visualização.
  • Ver bolsa: É um wrapper dinâmico em torno dos dados de visualização.

18) O que é visão parcial em MVC?

A visualização parcial no MVC renderiza uma parte do conteúdo da visualização. É útil para reduzir a duplicação de código. Em termos simples, a vista parcial permite renderizar uma vista dentro da vista pai.


19) Como você pode implementar Ajax em MVC?

No MVC, o Ajax pode ser implementado de duas maneiras

  • Bibliotecas Ajax
  • Jquery

20) Qual a diferença entre “ActionResult” e “ViewResult”?

“ActionResult” é um absolutotracclasse t enquanto “ViewResult” é derivado de “Abs”tracClasse “tResult”. “ActionResult” possui diversas classes derivadas, como “JsonResult”, “FileStreamResult” e “ViewResult”.

“ActionResult” é melhor se você estiver derivando diferentes tipos de visualizações dinamicamente.


21) Como enviar o resultado de volta no formato JSON no MVC?

Para enviar o resultado de volta no formato JSON em MVC, você pode usar a classe “JSONRESULT”.


22) Qual é a diferença entre Visualização e Visualização Parcial?

Aqui está a diferença entre Visualização e Visualização Parcial

Consultar Vista Parcial
Ele contém a página de layout Não contém a página de layout
Antes de qualquer visualização ser renderizada, a página viewstart é renderizada A visualização parcial não verifica um viewstart.cshtml. Não podemos colocar código comum para uma visualização parcial em viewStart.cshtml.page
A visualização pode ter tags de marcação como body, html, head, title, meta etc. A visualização parcial é projetada especialmente para renderizar dentro da visualização, e só por isso não consiste em nenhuma marcação
A visualização não é leve em comparação com a visualização parcial Podemos passar uma visão regular para o método RenderPartial

23) Quais são os tipos de resultados no MVC?

No MVC, existem doze tipos de resultados em que a classe “ActionResult” é a classe principal enquanto os 11 são seus subtipos:

  • Visualizar resultado
  • Resultado parcial da visualização
  • ResultadoVazio
  • RedirectResult
  • RedirectToRouteResult
  • JsonResultName
  • JavaResultado do script
  • ContentResult
  • ArquivoContentResult
  • FileStreamResult
  • FilePathResult

24) Qual a importância do NonActionAttribute?

Todos os métodos públicos de uma classe de controlador são tratados como o método de ação. Se você quiser evitar esse método padrão, será necessário atribuir o método público com NonActionAttribute.


25) Qual é o uso da rota padrão {resource}.axd/{*pathinfo}?

A rota padrão evita que solicitações de um arquivo de recurso da Web, como Webresource.axd ou ScriptResource.axd, sejam transmitidas ao controlador.


26) Qual é a ordem dos filtros que são executados, se vários filtros forem implementados?

A ordem do filtro seria assim:

  • Filtros de autorização
  • Filtros de ação
  • Filtros de resposta
  • Filtros de exceção

27) Quais filtros ASP.NET são executados no final?

No final são executados “Filtros de Exceção”.


28) Quais são as extensões de arquivo para visualizações do Razor?

Para visualizações razor, as extensões de arquivo são

  • .cshtml: Se C# for a linguagem de programação
  • .vbhtml: Se VB for a linguagem de programação

29) Quais são as duas maneiras de adicionar restrições a uma rota?

Dois métodos para adicionar restrições à rota são:

  • Usando expressões regulares
  • Usando um objeto que implementa a interface IRouteConstraint

30) Quais são os dois casos em que o roteamento não é implementado ou obrigatório?

Duas instâncias em que o roteamento não é necessário são

  • Quando um arquivo físico é encontrado que corresponde ao URL de cinto de segurança
  • Quando o roteamento está desativado para um URL de cinto de segurança

Perguntas da entrevista MVC para 5 anos de experiência

31) Quais são as funcionalidades do MVC?

Aqui estão os recursos do MVC:

  • Testabilidade fácil e sem atrito. Estrutura altamente testável, extensível e conectável.
  • Oferece controle total sobre seu HTML, bem como sobre seu URLs
  • Aproveita os recursos existentes fornecidos por ASP.NET, JSP, Django, etc.
  • Separação clara de lógica: Modelo, Visualização, Controlador. Separação de tarefas do aplicativo por meio de lógica de negócios, lógica Ul e lógica de entrada.
  • URL Roteamento otimizado para SEO URLs. Poderoso URL- mapaping para ser compreensível e pesquisável URLs.
  • Suporte para Desenvolvimento Orientado a Testes (TDD).

32) Quais são os exemplos reais de MVC?

Aqui está um exemplo real de MVC:

  • Vamos supor que você vá a um restaurante. Você não irá para a cozinha preparar comida, o que certamente poderá fazer em sua casa. Em vez disso, basta ir até lá e esperar o garçom chegar.
  • Agora o garçom vem até você e você pede a comida. O garçom não sabe quem você é e o que você quer, ele apenas anotou os detalhes do seu pedido de comida.
  • Em seguida, o garçom segue para a cozinha. Na cozinha, o garçom não prepara a comida.
  • O cozinheiro prepara sua comida. O garçom recebe seu pedido junto com o número da mesa.
  • Cook então prepara comida para você. Ele usa ingredientes para cozinhar a comida. Vamos supor que você pediu um sanduíche de legumes. Então ele precisa de pão, tomate, batata, pimentão, cebola, pedaço, queijo, etc., que vem da geladeira
  • Cook finalmente entrega a comida ao garçom. Agora é função do garçom levar a comida para fora da cozinha.
  • Agora o garçom sabe qual comida você pediu e como ela é servida.

Neste caso,

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

33) Qual é a diferença entre 3 níveis Archiarquitetura e MVC Archiarquitetura?

Aqui está uma diferença entre 3 níveis Archiarquitetura e MVC Architextura:

Parâmetro 3-Tier Archiarquitetura MVC Archiarquitetura
Comunicação Este tipo de padrão de arquitetura nunca se comunica diretamente com a camada de dados. Todas as camadas se comunicam diretamente usando a topologia triangular.
Uso 3 camadas: amplamente utilizado em aplicações web onde o cliente, as camadas de dados e o middleware são executados em plataformas fisicamente separadas. Geralmente usado em aplicativos executados em uma única estação de trabalho gráfica.

34) Como você pode usar a arquitetura MVC em JSP?

O exemplo a seguir mostra o uso da arquitetura MVC em JSP:

  • Estamos pegando o exemplo de um formulário com duas variáveis, “e-mail” e “senha”, que é nossa camada de visualização.
  • Depois que o usuário insere o e-mail e a senha e clica em enviar, a ação é passada em mvc_servlet onde o e-mail e a senha são passados.
  • Este mvc_servlet é a camada controladora. Aqui no mvc_servlet, a solicitação é enviada para o objeto bean, que atua como uma camada de modelo.
  • Os valores de e-mail e senha são definidos no bean e armazenados para outros fins.
  • Do bean, o valor é obtido e mostrado na camada de visualização.

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) Como funciona o MVC no Spring?

Aqui está como o MVC funciona no Spring:

  • DispatcherServlet recebe uma solicitação.
  • Em seguida, o DispatcherServlet se comunica com o HandlerMap.pingAlém disso, revoga o controlador associado a essa solicitação específica.
  • O Controller processa essa solicitação chamando os métodos de serviço, e um objeto ModelAndView é retornado pelo DispatcherServlet.
  • O nome da visualização é enviado a um ViewResolver para localizar a visualização real a ser invocada.
  • Depois disso, DispatcherServlet é passado para View para renderizar o resultado.
  • Ao usar os dados do modelo, a View renderiza e envia o resultado ao usuário.

36) Quais são os pontos importantes a serem lembrados ao criar um aplicativo MVC?

Aqui estão alguns pontos importantes a serem lembrados ao criar um aplicativo MVC:

  • Você precisa lembrar que o ASP.net MVC não é um substituto para aplicativos baseados em formulários da web ASP.Net
  • A abordagem de desenvolvimento de aplicativos MVC deve ser decidida com base nos requisitos e recursos do aplicativo fornecidos pelo ASP.net MVC para atender às necessidades específicas de desenvolvimento.
  • O processo de desenvolvimento de aplicativos com ASP.NET MVC é mais complexo em comparação com aplicativos baseados em formulários da web.
  • A capacidade de manutenção do aplicativo é sempre maior com a separação das tarefas do aplicativo.

37) Qual a diferença entre Web Forms e MVC?

Aqui está uma diferença entre Web Forms e MVC:

Parâmetros Técnicos web Forms MVC
Modelo Os Formulários Web Asp.Net seguem o modelo de desenvolvimento orientado a eventos. Asp.Net MVC usa modelo de desenvolvimento baseado em padrões MVC.
Usado desde Existe desde 2002 Foi lançado pela primeira vez em 2009
Suporte para estado de visualização Asp.Net Web Forms suporta visualização de estado para gerenciamento de estado no lado do cliente. .Net MVC não suporta estado de visualização.
URL tipo O ASP.NET Web Forms possui recursos baseados em arquivos. URLs. Significa que o nome do arquivo existe no URLe devem existir fisicamente. O ASP.NET MVC possui um sistema baseado em rotas. URLs que significa URLOs parâmetros são redirecionados para controladores e ações.
Sintaxe Asp.Net MVC segue a sintaxe de formulários da Web. Asp.Net MVC segue a sintaxe personalizável.
Tipo de vista As visualizações de formulários da Web estão intimamente ligadas a Code por trás (ASPX-CS), ou seja, lógica. As visualizações e a lógica do MVC são sempre mantidas separadamente.
Aparência consistente Possui páginas mestras para uma aparência consistente. O Asp.Net MVC possui layouts para uma aparência consistente.
Code Reutilização Web Forms oferece controles de usuário para reutilização de código. Asp.Net MVC oferece visualizações parciais para reutilização de código.
Controle para HTML Less controle sobre HTML renderizado. Controle total sobre HTML
Gestão do estado Gerenciamento automático de estado de controles. Gerenciamento manual de estado.
Suporte TDD É necessário um TDD fraco ou personalizado. Incentiva e inclui TDD!

38) Como você pode exibir algo em CodeIgnitor?

Aqui está um código para exibir algo em CodeIgnição:

<?=$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) Escreva um código para demonstrar o conceito de Modelo, Visão e Controlador em CodeIgnição.

Aqui está um código para demonstrar os conceitos de Modelo, Visão e Controlador em CodeIgnição:

Abra o arquivo Welcome.php controller localizado em application/controllers:

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

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

Atualize o índice da seguinte maneira:

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

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

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

Escreva o seguinte código em customer_model.php em 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;
    }
}

Abra Welcome_message.php localizado em

application/views/welcome_message.php

Substitua o código pelo seguinte

<!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) Você pode criar um aplicativo web com webforms e MVC?

Sim. Você precisa incluir as referências de assembly MVC abaixo no aplicativo de formulários da web para criar um aplicativo híbrido.

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

41) Como você pode atribuir um nome alternativo para ASP.NET Web API Action?

Podemos fornecer um nome alternativo para a ação da API da Web da mesma forma que no caso do ASP.NET MVC usando o atributo “ActionName” da seguinte forma:

[HttpPost]

[ActionName("SaveStudentInfo")]

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

42) Qual a principal diferença entre MVC e WebAPI?

Aqui está a principal diferença entre MVC e WebAPI:

O framework MVC é usado para desenvolvimento.ping Aplicações que possuem uma interface de usuário. Para isso, podem ser utilizadas views para construir essa interface.

A WebAPI é usada para desenvolvimento.ping Serviços HTTP. Outros aplicativos também podem usar os métodos da WebAPI para buscar esses dados.


43) Como você pode garantir que a API da Web retorne apenas dados JSON?

Para fazer com que a API da Web serialize o objeto retornado para o formato JSON e retorne apenas dados JSON. Para isso, você deve adicionar o seguinte código na classe WebApiConfig.cs em qualquer projeto 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) Qual a diferença entre MVVM e MVC?

Aqui estão as diferenças importantes entre MVVM e MVC:

MVC MVVM
Um Controlador é o ponto de entrada para o Aplicativo. A Visualização é o ponto de entrada para o Aplicativo.
Relacionamentos um para muitos entre Controller e View. Relacionamentos um para muitos entre Visualização e Modelo de Visualização.
View não tem referência ao Controller View tem referências ao View-Model.
MVC é modelo antigo MVVM é um modelo relativamente novo.
Difícil de ler, alterar, testar unidade e reutilizar este modelo O processo de depuração será complicado quando tivermos ligações de dados complexas.
O componente do modelo MVC pode ser testado separadamente do usuário Fácil para testes unitários separados e o código é orientado a eventos.

45) O que é MVC em AngularJS?

Angular.js segue a arquitetura MVC, o diagrama da estrutura MVC é mostrado abaixo.

  • O Controlador representa a camada que contém a lógica de negócio. Os eventos do usuário acionam as funções armazenadas dentro do seu controlador. Os eventos do usuário fazem parte do controlador.
  • As visualizações são usadas para representar a camada de apresentação que é fornecida aos usuários finais.
  • Modelos são usados ​​para representar seus dados. Os dados em seu modelo podem ser tão simples quanto ter declarações primitivas. Por exemplo, se você estiver mantendo um aplicativo de estudante, seu modelo de dados poderá ter apenas uma identificação de estudante e um nome. Ou também pode ser complexo por ter um modelo de dados estruturado. Se você estiver mantendo um pedido de propriedade de carro, poderá ter estruturas para definir o próprio veículo em termos de cilindrada, capacidade de assentos, etc.

46) Qual é o papel do MVC no AngularJS?

A seguir está uma definição simples do funcionamento do Controlador AngularJS.

  • A principal responsabilidade do controlador é controlar os dados que são passados ​​para a visualização. O escopo e a visão têm comunicação bidirecional.
  • As propriedades da visualização podem chamar “funções” no escopo. Além disso, os eventos na visão podem chamar “métodos” no escopo. O trecho de código abaixo fornece um exemplo simples de função.
    • A função ($scope) que é definida ao definir o controlador e uma função interna que é usada para retornar a concatenação de $scope.firstName e $scope.lastName.
    • No AngularJS, quando você define uma função como uma variável, ela é conhecida como Método.

  • Dessa forma, os dados passam do controlador para o escopo e, em seguida, passam do escopo para a visualização.
  • O escopo é usado para expor o modelo à visualização. O modelo pode ser modificado por meio de métodos definidos no escopo, que podem ser acionados por meio de eventos da visualização. Podemos definir a ligação de modelo bidirecional do escopo ao modelo.
  • Idealmente, os controladores não devem ser usados ​​para manipular o DOM. Isto deveria ser feito pelas directivas, que veremos mais tarde.
  • A melhor prática é ter controladores baseados na funcionalidade. Por exemplo, se você possui um formulário para entrada e precisa de um controlador para isso, crie um controlador chamado “controlador de formulário”.

47) Como construir um controlador básico em AngularJS

O trecho de código abaixo é uma página HTML simples que tem o título “Registro de Evento” e faz referências a bibliotecas importantes, como Bootstrap, jquery e Angular.

  1. Estamos adicionando referências às folhas de estilo CSS do bootstrap, que serão usadas em conjunto com as bibliotecas do bootstrap.
  2. Estamos adicionando referências às bibliotecas AngularJS. Então agora, tudo o que fizermos com angular.js daqui para frente será referenciado nesta biblioteca.
  3. Estamos adicionando referências à biblioteca bootstrap para tornar nossa página web mais responsiva para determinados controles.
  4. Adicionamos referências às bibliotecas jquery que serão usadas para manipulação de DOM. Isso é exigido pelo Angular porque algumas das funcionalidades do Angular dependem desta biblioteca.

Por padrão, o trecho de código acima estará presente em todos os nossos exemplos para que possamos mostrar apenas o código angularJS específico nas seções subsequentes.

Em segundo lugar, vamos dar uma olhada em nossos arquivos e na estrutura de arquivos que iniciaremos em nosso curso:

  1. Primeiro, separamos nossos arquivos em 2 pastas, como é feito com qualquer aplicativo web convencional. Temos a pasta “CSS”. Ele conterá todos os nossos arquivos de folhas de estilos em cascata, e então teremos nossa pasta “lib”, que terá todos os nossos JavaScript arquivos.
  2. O arquivo bootstrap.css é colocado na pasta CSS e é usado para adicionar uma boa aparência ao nosso site.
  3. O angular.js é nosso arquivo principal que foi baixado do site angularJS e mantido em nossa pasta lib.
  4. O arquivo app.js conterá nosso código para os controladores.
  5. O arquivo bootstrap.js é usado para complementar o arquivo bootstrap.cs para adicionar funcionalidade de bootstrap ao nosso aplicativo da web.
  6. O arquivo jquery será usado para adicionar funcionalidade de manipulação de DOM ao nosso site.

Exemplo de uso de angular.js:

O que queremos fazer aqui é apenas exibir as palavras “AngularJS” tanto em formato de texto quanto em uma caixa de texto quando a página for visualizada no navegador.

<!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) Qual a utilidade do ng-controller em arquivos externos em AngularJS

Execute as seguintes etapas para usar o ng-controller em arquivos externos em AngularJS

Passo 1) No arquivo app.js, adicione o seguinte código para seu controlador

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

Passo 2) Agora, em seu arquivo Sample.html, adicione uma classe div que conterá a diretiva ng-controller e, em seguida, adicione uma referência à variável de membro “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) Escrever código para definir métodos no controlador AngularJS?

Aqui está um código para definir métodos no controlador 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) Escreva código usando o modelo ng para exibir o controle de entrada multilinha em AngularJS.

Aqui está um código usando ng-model para exibir o controle de entrada multilinha em 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) Escreva código para demonstrar o uso de elementos de entrada.

Aqui está um exemplo de código usando elementos de entrada 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) Como você pode criar um modelo em PHP?

Aqui está um código para criar modelo em 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) Por que usar PHP MVC Framework?

Você deve usar o PHP MVC Framework porque ele simplifica o trabalho com tecnologias complexas ao:

  • Escondendo todos os detalhes complexos de implementação
  • Fornecendo métodos padrão que podemos usar para construir nossos aplicativos.
  • Aumento da produtividade do desenvolvedor, isso ocorre porque a implementação básica de atividades como conexão ao banco de dados, higienização de entrada do usuário, etc., já estão parcialmente implementadas.
  • Adesão aos padrões de codificação profissionais

54) Quais são os frameworks PHP MVC populares?

Aqui estão estruturas PHP MVC populares:

CodeIgnição: É uma das estruturas PHP MVC mais populares. É leve e tem uma curva de aprendizado curta. Possui um rico conjunto de bibliotecas que ajudam a construir sites e aplicativos rapidamente. Usuários com conhecimento limitado de programação OOP também podem utilizá-lo.

Kohana: É um modelo hierárquico de visão e controle (HMVC) que é um framework seguro e leve. Possui um rico conjunto de componentes para desenvolvimento.ping aplicações rapidamente.

BoloPHP: Ele é modelado após Ruby on Rails. É conhecido por conceitos como padrões de design de software, convenção sobre configuração, ActiveRecord, etc.

Zend: É uma estrutura poderosa;

  • Seguro, confiável, rápido e escalável
  • Suporta Web 2.0 e criação de serviços web.

Possui APIs de fornecedores como Amazon, Google, FlickrYahoo, etc. É ideal para desenvolvedores.ping aplicações comerciais.


55) Como você pode criar visualizações em PHP?

Aqui está um código para criar visualizações em 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>

Vamos agora criar a página de resultados 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>

Essas perguntas da entrevista também ajudarão em sua viva (oral)

Resuma esta postagem com: