Escolar Documentos
Profissional Documentos
Cultura Documentos
PHP
Matheus F. Ferreira1, Vitor Hugo Luize2, João Pedro Porfirio1, Stevan M. Helpis3
1
Instituto Federal – Instituto Federal de Mato Grosso do Sul (IFMS)
Coxim – MS – Brazil
2
Departamento de Núcleo de Comunicação e Informação– Instituto Federal de Coxim
(IFMS)
Coxim, MS – Brazil.
MATHEUS FELIPE FERREIRA , VITOR HUGO RIBEIRO LUIZE ,
JOAO PEDRO PORFIRIO LUIZE MAFRA , STEVAN MENEGHELLO HELPIS
1. O Que é um Framework
Um framework é uma estrutura ou conjunto de ferramentas, bibliotecas,
diretrizes e componentes de software que facilitam o desenvolvimento de aplicativos ou
sistemas de software. Ele fornece uma base comum e reutilizável que ajuda os
desenvolvedores a economizar tempo e esforço, fornecendo soluções pré-construídas
para tarefas comuns, como gerenciamento de dados, interface do usuário, segurança e
muito mais.
Os frameworks são projetados para serem flexíveis e extensíveis, permitindo que
os desenvolvedores personalizem e ampliem suas funcionalidades de acordo com as
necessidades específicas de seus projetos. Eles são frequentemente usados em
desenvolvimento de software para garantir consistência, eficiência e qualidade, além de
acelerar o processo de criação de aplicativos. Frameworks são comuns em uma
variedade de linguagens de programação e domínios, incluindo desenvolvimento web,
desenvolvimento de aplicativos móveis, desenvolvimento de jogos, entre outros.
O desenvolvimento de aplicativos da web em PHP tem evoluído
significativamente nos últimos anos, graças ao uso de frameworks que tornam o
processo mais eficiente, organizado e escalável. Neste artigo, exploraremos o papel
fundamental da arquitetura MVC e apresentaremos dois dos frameworks mais notáveis
em PHP.
2. O que é MVC
O Modelo-Visão-Controlador (MVC) é um padrão de arquitetura de software
amplamente utilizado na construção de aplicativos, especialmente em desenvolvimento
web. Ele foi projetado para separar a lógica de processos, a interface do usuário e o
controle de forma a tornar o desenvolvimento de software mais organizado, escalável e
manutenível. O MVC divide uma aplicação em três componentes principais:
1. Modelo (Model): O Modelo representa a camada de dados e a lógica de
negócios da aplicação. Ele é responsável por armazenar e gerenciar os dados, bem como
por definir as regras de negócios. Isso inclui a interação com bancos de dados, validação
de dados, cálculos e qualquer outra operação relacionada aos dados do aplicativo.
2. Visão (View): A Visão é a camada de apresentação da aplicação. Ela lida com
a representação visual dos dados e interage com o usuário. A principal função da Visão
é exibir informações para o usuário de uma forma que seja compreensível e atraente. As
ações do usuário, como cliques em botões, são encaminhadas ao Controlador para
processamento.
3. Controlador (Controller): O Controlador atua como um intermediário entre
o Modelo e a Visão. Ele recebe as solicitações do usuário a partir da Visão e coordena as
ações necessárias no Modelo. O Controlador é responsável por direcionar fluxo de
dados, atualizar o Modelo e atualizar a Visão conforme necessário. Ele contém a lógica
que decide como responder a ações do usuário e como os dados devem ser atualizados.
O MVC é amplamente usado em frameworks de desenvolvimento web, como
Ruby on Rails, Django (Python), Angular e Spring (Java), entre outros. No entanto,
embora o MVC seja um padrão bem estabelecido, é importante observar que existem
variações e adaptações do modelo, como o MVVM (Model-View-ViewModel) e o MVP
(Model-View-Presenter), que se adequam a diferentes necessidades e tecnologias.
Em resumo, o MVC é uma abordagem arquitetônica que promove a separação
clara das preocupações em uma aplicação, tornando o desenvolvimento de software
mais eficiente e gerenciável, especialmente em aplicações complexas e em equipe.
É importante notar que muitos dos desafios associados ao MVC podem ser
mitigados com uma implementação cuidadosa e o uso de melhores práticas de
desenvolvimento. Além disso, em muitos cenários, outras arquiteturas, como o
MVVM (Model-View-ViewModel) e o MVP (Model-View-Presenter), foram
desenvolvidas como alternativas ao MVC e podem ser mais adequadas para certos
tipos de aplicativos. A escolha da arquitetura depende das necessidades específicas
de um projeto e das preferências da equipe de desenvolvimento.
4. Framework YII
O framework Yii é um framework de desenvolvimento web de código aberto
escrito em PHP, que segue o padrão Model-View-Controller (MVC). Abaixo, um
resumo da estrutura e do uso do framework Yii:
Estrutura do Framework Yii:
1. Modelo (Model): A camada de Modelo no Yii é responsável por representar
os dados da aplicação e inclui a lógica de negócios. Os modelos são frequentemente
vinculados a tabelas de banco de dados, facilitando a interação com sistemas de
armazenamento de dados. O Yii oferece suporte a várias classes e recursos para
trabalhar com bancos de dados e gerenciar os modelos.
2. Visão (View): A camada de Visão trata da apresentação de dados aos
usuários. No Yii, as visões são frequentemente criadas usando arquivos de modelo e
podem ser personalizadas para gerar saída em vários formatos, como HTML, JSON,
XML, etc.
3.Controlador (Controller): O Controlador é responsável por receber as
solicitações dos usuários, processá-las e tomar as decisões apropriadas. Ele atua como
um intermediário entre as camadas de Modelo e Visão. O Yii permite que os
desenvolvedores definam ações de controle e rotas para lidar com as requisições dos
usuários.
4.Componentes e Widgets: O Yii fornece uma ampla gama de componentes e
widgets que podem ser facilmente incorporados nas aplicações para lidar com tarefas
comuns, como autenticação, cache, autenticação, validação de formulários e muito
mais. Esses componentes facilitam a adição de funcionalidades específicas em suas
aplicações.
5.Migrações: O Yii inclui uma ferramenta de migração que permite gerenciar as
mudanças na estrutura do banco de dados ao longo do tempo. Isso é especialmente útil
quando se trabalha em equipe e é necessário manter o esquema do banco de dados
atualizado.
Modelo (Model):
Crie um modelo para representar as tarefas. Suponhamos que você tenha um
banco de dados com uma tabela chamada “tasks”:
Visão (View):
A visão é responsável por exibir as tarefas na página. Crie uma visão chamada
“task/index.php”:
Controlador (Controller):
O controlador responde às solicitações do usuário e lida com a lógica. Crie um
controlador chamado “TaskController.php”:
Rotas (Routes):
Em seguida, defina uma rota para acessar a página de lista de tarefas. Isso pode ser feito
em “config/main.php”:
6.Visões: Use o sistema de templates Blade para criar visões dinâmicas. Isso
permite que você crie facilmente interfaces de usuário comuns e reutilizáveis.
Definir uma rota no arquivo routes/web.php que mapeia uma URL para um
controlador:
Criação de um Controlador:
Definir um modelo Eloquent para interagir com o banco de dados. O Laravel irá
gerar automaticamente um modelo vazio para você:
Middleware:
Execução de Migrações:
agendamento de tarefas e muito mais, que podem ser usados para criar aplicativos web
robustos e escaláveis.
Referências
https://laravel.com/docs/10.x
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwiiiJP92qGCAxU6K7kGHWk6BJYQFnoECAcQAQ&url=https%3A
%2F%2Flaravel.com%2F&usg=AOvVaw2N971PScvycqJzGh3734ZD&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwiiiJP92qGCAxU6K7kGHWk6BJYQFnoECBcQAw&url=https%3A
%2F%2Ftecnoblog.net%2Fresponde%2Fo-que-e-laravel-guia-para-iniciantes%2F%23
%3A~%3Atext%3DLaravel%2520%25C3%25A9%2520um%2520framework%2520P
HP%2520gratuito%2520e%2520de%2520c%25C3%25B3digo%2520aberto%2Cagiliza
m%2520o%2520processo%2520de%2520desenvolvimento.&usg=AOvVaw3uNvnHFk
HOrdpu4C8_2abe&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwjqnpGl26GCAxVFO7kGHbcyBwAQFnoECAYQAw&url=https%3
A%2F%2Fcynoteck.com%2Fpt%2Fblog-post%2Finstalling-laravel-8-on-windows-10-x
ampp%2F&usg=AOvVaw3L2vtactNCTzUxNd6_b97s&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwjT8M7S26GCAxWdHbkGHSh9DD0QFnoECA8QAQ&url=https%
3A%2F%2Fwww.yiiframework.com%2Fdoc%2Fguide%2F1.1%2Fpt%2Fquickstart.wh
at-is-yii&usg=AOvVaw1R-1Sgxdv2hSBuvAIT0FWg&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwjT8M7S26GCAxWdHbkGHSh9DD0QFnoECAsQAw&url=https%
3A%2F%2Fportalsenac.am.senac.br%2Fsiteadmin%2Fweb%2Fuploads%2Fpsg%2Ferr
atas%2Fyii2-v7.pdf&usg=AOvVaw3-BsO_GeOwH5VtcMdoEpmk&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwip8YvX26GCAxVRCrkGHegwB9oQFnoECAQQAw&url=https%3
A%2F%2Fwww.locaweb.com.br%2Fblog%2Ftemas%2Fcodigo-aberto%2Flaravel-fram
ework-php%2F%23%3A~%3Atext%3DVoltamos%2520a%2520falar%2520de%2520u
ma%2Ca%2520entender%2520um%2520pouco%2520mais.&usg=AOvVaw0oUv4Os6
AwFqP5jPJa5W_O&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwi_qrrj26GCAxWcG7kGHbEaBEMQFnoECAsQAQ&url=https%3A
%2F%2Fbalta.io%2Fblog%2Fo-que-e-um-framework&usg=AOvVaw00h1aa2qZXLZg
bvxp8TLRx&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwi_qrrj26GCAxWcG7kGHbEaBEMQFnoECAwQAw&url=https%3
A%2F%2Fkenzie.com.br%2Fblog%2Fframework%2F%23%3A~%3Atext%3DUm%25
20framework%2520%25C3%25A9%2520uma%2520estrutura%2Cdefinido%252C%25
20alterando%2520apenas%2520demais%2520particularidades.&usg=AOvVaw0o-zA2v
HjdH9VnfBBqG0fK&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwihi47z26GCAxWYALkGHaQGDSkQFnoECAsQAw&url=https%3
A%2F%2Fwww.treinaweb.com.br%2Fblog%2Fo-que-e-mvc%23%3A~%3Atext%3DO
%2520MVC%2520sugere%2520uma%2520maneira%2Ccamada%2520de%2520contro
le%2520(controller).&usg=AOvVaw2L3_wBACRHWhMqmBPEBa0t&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwihi47z26GCAxWYALkGHaQGDSkQFnoECA0QAw&url=https%3
A%2F%2Fawari.com.br%2Farquitetura-mvc%2F%23%3A~%3Atext%3DO%2520obje
tivo%2520da%2520arquitetura%2520MVC%2Cuma%2520maior%2520escalabilidade
%2520e%2520manuten%25C3%25A7%25C3%25A3o.&usg=AOvVaw2afp43Iwdo-zf
AuN6gj4eJ&opi=89978449
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact
=8&ved=2ahUKEwjf-sP_26GCAxXqLrkGHQMIDpgQFnoECAgQAw&url=https%3A
%2F%2Fpt.quora.com%2FQuais-s%25C3%25A3o-as-vantagens-e-desvantagens-do-m
odelo-MVC%23%3A~%3Atext%3DO%2520forte%2520do%2520MVC%2520%25C3
%25A9%2CDDD%2520%25C3%25A9%2520muito%2520mais%2520eficiente.&usg=
AOvVaw3xqeIVTC_4r59iwV4qASIq&opi=89978449