Você está na página 1de 19

Região Académica I

◊ Luanda ◊ Bengo ◊
Escola Superior Pedagógica do Bengo
Departamento de Ensino, Investigação e Extensão de Ciências Exactas
Curso de Licenciatura em ensino da Informática

DESENVOLVIMENTO WEB

SYMFONY

3º ANO
AUTORES:
PEDRO MORAIS
VATA ANTÓNIO POMPILIO DA COSTA GASPAR

Docente

_________________________

Bengo, Março de 2023


Região Académica I
◊ Luanda ◊ Bengo ◊
Escola Superior Pedagógica do Bengo
Departamento de Ensino, Investigação e Extensão de Ciências Exactas
Curso de Licenciatura em ensino da Informática

SYMFONY

3º ANO
PERÍODO: LABORAL

Autores:
Pedro Morais
Vata António Pompilio da Costa Gaspar
Sumário
INTRODUÇÃO..........................................................................................................................1
FUNDAMENTAÇÃO TEÓRICA.............................................................................................2
Symfony Framework - Recursos...............................................................................................2
Symfony Framework - Aplicações............................................................................................3
Symfony - Instalação..................................................................................................................3
Requisitos de sistema.................................................................................................................4
Ambiente de Desenvolvimento Ferramentas............................................................................5
Symfony - Arquitetura...............................................................................................................5
Estrutura da Web.......................................................................................................................6
Symfony - Componentes............................................................................................................8
Detalhes dos componentes do Symfony....................................................................................8
PropertyInfo: O componente PropertyInfo é semelhante ao componente PropertyAccess,
porém só funciona com objetos PHP e oferece muito mais funcionalidade........................10
Symfony - Expressão................................................................................................................11
main.php...........................................................................................................................12
Resultado............................................................................................................................12
Symfony - Pacotes....................................................................................................................13
Estrutura de um pacote...........................................................................................................13
Symfony - Edição CMF............................................................................................................13
CONCLUSÃO..........................................................................................................................14
REFERÊNCIAS BIBLIOGRÁFICAS....................................................................................15
INTRODUÇÃO
Um framework web PHP é uma coleção de classes, que ajuda a desenvolver um
aplicativo web. Symfony é um framework MVC de código aberto para o
desenvolvimento rápido de aplicações web modernas. Symfony é um framework web
full-stack. Ele contém um conjunto de componentes PHP reutilizáveis. Você pode usar
qualquer componente do Symfony em aplicativos, independentemente do framework.
Symfony tem uma enorme quantidade de funcionalidade e comunidade ativa. Possui
uma configuração flexível usando YAML, XML ou anotações. O Symfony integra-se
com uma biblioteca independente e PHP Unit. O Symfony é inspirado principalmente
pelos frameworks de aplicações web Ruby on Rails, Django e Spring. Os componentes
do Symfony estão sendo usados por muitos projetos de código aberto que incluem
Composer, Drupal e phpBB.

1
FUNDAMENTAÇÃO TEÓRICA
Um framework racionaliza o desenvolvimento de muitos padrões empregados para um
determinado fim, acrescenta estrutura ao código, levando o programador a escrever
melhor, mais legível e um código mais sustentável. Em última análise um framework
torna a programação mais fácil, uma vez que transforma um pacote de complexas
operações em simples afirmações.
symfony é um framework completo projetado para otimizar o desenvolvimento de
aplicações web, através de várias características. Para começar ele separa um aplicativo
web das regras do negócio, lógica e apresentação. Ele contém diversas ferramentas e
classes que visam reduzir o tempo de desenvolvimento de uma complexa aplicação
web. Além disso, ele automatiza tarefas comuns, para que o desenvolvedor possa se
concentrar inteiramente nas especificidades da aplicação. O resultado final dessas
vantagens é que não há necessidade de reinventar a roda a cada vez que um novo
aplicativo web é construído.
O symfony foi escrito inteiramente em PHP 5. Ele foi testado em vários projetos do
mundo real, é na verdade, no uso de alta demanda em sites de negócio. Ele é compatível
com a maioria das bases de dados disponíveis, incluindo o MySQL, PostgreSQL, Oracle
e Microsoft SQL Server. Ele roda em plataformas Windows e *nix. Vamos começar
uma análise mais atenta às suas características.
Symfony Framework - Recursos
Symfony é projetado para otimizar o desenvolvimento de aplicações web e cresce em
recursos a cada lançamento.
Alguns dos principais recursos do Symfony Framework são os seguintes:
 Sistema baseado em Model-View-Controller
 Estrutura PHP de alto desempenho
 Roteamento de URI flexível
 Código reutilizável e mais fácil de manter
 Gerenciamento de sessão
 Registro de erros
 Classes de banco de dados com recursos completos com suporte para várias
plataformas
 Suporta uma comunidade enorme e ativa
 Conjunto de componentes desacoplados e reutilizáveis
 Padronização e interoperabilidade de aplicativos

2
 Segurança contra falsificação de solicitação entre sites e outros ataques
 Mecanismo de modelo Twig
O Symfony oferece muita flexibilidade aos desenvolvedores. Possui ótimos recursos
para depuração, legibilidade de código e desenvolvimento de programas extensíveis.
Symfony é um framework web full-stack; é uma ferramenta muito eficaz para criar
aplicativos da web. Várias empresas oferecem serviços Symfony aos clientes.
A seguir estão alguns dos benefícios que você obtém ao usar o Symfony Framework.
 Microframework − O Symfony pode ser usado para desenvolver uma
funcionalidade específica. Você não precisa redesenvolver ou instalar toda a
estrutura.
 Reduz a sobrecarga do tempo de desenvolvimento.
 Mecanismo de modelagem extremamente maduro e entrega conteúdo rápido aos
usuários.
 Compatível e extensível - Os programadores podem facilmente estender todas
as classes de estrutura.
Symfony Framework - Aplicações
Os componentes do Symfony podem ser usados como parte de outros aplicativos, como
Drupal, Laravel, phpBB, Behat, Doctrine e Joomla.
 Drupal 8 - Drupal é uma estrutura PHP de gerenciamento de conteúdo de
código aberto. O Drupal 8 usa as camadas principais do Symfony e o estende
para fornecer suporte aos módulos Drupal.
 Thelia − Thelia é uma solução de e-commerce baseada em
Symfony. Inicialmente, o Thelia foi escrito em código PHP e MySQL, no
entanto, estava atrasado para produzir aplicativos mais rápidos. Para superar essa
desvantagem, o Thelia se integrou ao Symfony para desenvolver os aplicativos
de maneira personalizável.
 Dailymotion - Dailymotion é um dos maiores sites independentes de
entretenimento em vídeo do mundo, com sede na França. Uma vez que
decidiram migrar o framework de código aberto com uma grande comunidade,
os desenvolvedores do Dailymotion decidiram usar os recursos dos componentes
do Symfony para sua flexibilidade.
Symfony - Instalação
Este capítulo explica como instalar o framework Symfony em sua máquina. A
instalação do framework Symfony é muito simples e fácil. Você tem dois métodos para

3
criar aplicações no framework Symfony. O primeiro método é usar o Symfony Installer,
um aplicativo para criar um projeto no framework Symfony. O segundo método é a
instalação baseada no compositor. Vamos passar por cada um dos métodos, um por um,
em detalhes nas seções a seguir.
Requisitos de sistema
Antes de passar para a instalação, você precisa dos seguintes requisitos de sistema.
Servidor Web (Qualquer um dos seguintes)
 WAMP (Windows)
 LÂMPADA (Linux)
 XAMP (Multiplataforma)
 MAMP (Macintosh)
 Nginx (Multiplataforma)
 Microsoft IIS (Windows)
Servidor web de desenvolvimento embutido em PHP (Multi-plataforma)
Sistema Operacional: Multiplataforma
Suporte ao navegador: IE (Internet Explorer 8+), Firefox, Google Chrome, Safari,
Opera
Compatibilidade PHP: PHP 5.4 ou posterior. Para obter o máximo benefício, use a
versão mais recente.
Usaremos o servidor Web de desenvolvimento interno do PHP para este tutorial.
Automatização de Projetos Web Características
A maior parte das características comuns de um projeto web são automatizadas no
symfony, segue:
 Camada de internacionalização permite a tradução dos dados e da interface, bem
como conteúdo (localization)
 A camada de apresentação utiliza templates e layouts que podem ser construídos
pelos designers HTML sem qualquer conhecimento do framework. Ajudantes
para reduzir a quantidade de código na camada de apresentação e escrever
encapsulado de grandes porções de código em simples funções.
 Automatização para trabalhar com formulários, validação e repovoamento, e
isso garante uma boa qualidade dos dados nas bases de dados e uma melhor
experiência do usuário
 Protege a aplicação contra-ataques via dados corrompidos

4
 Sistema de cache com a funcionalidade de reduzir o uso de banda larga e carga
do servidor
 Autenticação e credenciais, para facilitar a criação de seções restritas e gestão de
segurança do usuário
 Roteamento inteligente e URLS amigáveis fazem parte da interface e
mecanismo amigáveis de busca
 Paginação de resultados são mais fáceis, graças a automatizadores de paginação,
seleção e filtragem
 Plug-ins proporcionam um elevado nível de extensibilidade
 Interações Ajax são fáceis de implementar, graças aos ajudantes e efeitos
JavaScript
Ambiente de Desenvolvimento Ferramentas
Para cumprir os requisitos das empresas que possuem suas próprias orientações, regras
de codificação e gestão do projeto, o symfony pode ser totalmente personalizado. Ele
fornece, por padrão, vários ambientes de desenvolvimento, com várias ferramentas que
automatização tarefas comuns de engenharia de software.
 Ferramentas de geração de código, com apenas um clique é possível gerar
interfaces administrativas.
 Testes de unidade e testes funcionais, o framework fornece ferramentas para
permitir testes na fase de desenvolvimento.
 Painel de debugação acelera a depuração, apresentado todas as informações que
o desenvolvedor precisa sobre a página que está trabalhando.
 A interface de linha de comando automatização a implantação da aplicação entre
dois servidores.
 Configurações de mudança são possíveis e eficazes.
 Sistema de log fornece ao desenvolvedor detalhes completos sobre as atividades
da aplicação.
Symfony - Arquitetura
Symfony é basicamente uma coleção de componentes e bundles de alta qualidade. Os
componentes são coleções de classes que fornecem uma funcionalidade de núcleo
único. Por exemplo, o componente Cache fornece funcionalidade de cache, que pode
ser adicionada a qualquer aplicativo. Componentes são blocos de construção de um
aplicativo Symfony. Symfony tem mais de 30 componentes de alta qualidade, que são
usados em muitos frameworks PHP como Laravel, Silex, etc.

5
Os pacotes são semelhantes ao plug-in, mas fáceis de criar e usar. Na verdade, um
aplicativo Symfony é um bundle composto de outros bundles. Um único pacote pode
usar qualquer número de componentes do Symfony e também componentes de terceiros
para fornecer recursos como Webframework, acesso ao banco de dados etc. opções para
escrever um aplicativo da web.
A relação entre o aplicativo Components, Bundles e Symfony é especificada no
diagrama a seguir.

Estrutura da Web
Symfony é projetado principalmente para escrever aplicações web de alta qualidade
com relativa facilidade. Ele fornece várias opções para escrever diferentes tipos de
aplicativos da Web, desde um site da Web simples até serviços da Web avançados
baseados em REST. Symfony fornece framework web como pacotes separados. Os
pacotes comuns usados no Symfony web framework são os seguintes:
 FrameworkBundle
 FrameworkExtraBundle
 DoctrineBundle
O framework web do Symfony é baseado na arquitetura Model-View-Controller
(MVC). Model representa a estrutura de nossas entidades de negócios. View mostra os
modelos para o usuário da melhor maneira possível, dependendo da situação. O
controlador lida com todas as solicitações do usuário, faz o trabalho real interagindo

6
com o modelo e, finalmente, fornece à exibição os dados necessários para mostrá-lo ao
usuário.
O framework web do Symfony fornece todos os recursos de alto nível necessários para
um aplicativo de nível empresarial. A seguir está um fluxo de trabalho simples do
aplicativo web Symfony.

O fluxo de trabalho consiste nas seguintes etapas.


 Passo 1 − O usuário envia uma requisição ao aplicativo através do navegador,
digamos http://www.symfonyexample.com/index.
 Etapa 2 - O navegador enviará uma solicitação ao servidor da Web, digamos
servidor da Web Apache.
 Etapa 3 - O servidor da web encaminhará a solicitação para o PHP subjacente,
que por sua vez a enviará para a estrutura da web do Symfony.
 Etapa 4 - HttpKernel é o componente principal do framework web do
Symfony. O HttpKernel resolve o controlador da solicitação fornecida usando o
componente de roteamento e encaminha a solicitação para o controlador de
destino.
 Etapa 5 - Toda a lógica de negócios ocorre no controlador de destino.
 Passo 6 − O controller irá interagir com o Model, que por sua vez interage com
o Datasource através do Doctrine ORM.

7
 Etapa 7 - Depois que o controlador conclui o processo, ele gera a resposta por
conta própria ou por meio do View Engine e a envia de volta ao servidor da
web.
 Etapa 8 - Por fim, a resposta será enviada ao navegador solicitado pelo servidor
da web.
Symfony - Componentes
Conforme discutido anteriormente, os componentes do Symfony são bibliotecas PHP
autônomas que fornecem um recurso específico, que pode ser usado em qualquer
aplicativo PHP. Novos componentes úteis estão sendo introduzidos em cada versão do
Symfony. Atualmente, existem mais de 30 componentes de alta qualidade no
framework Symfony. 
Detalhes dos componentes do Symfony
O Symfony fornece componentes que variam de recursos simples, como sistema de
arquivos, a recursos avançados, como eventos, tecnologia de contêiner e injeção de
dependência. Informe-nos sobre todos os componentes, um por um, nas seções a seguir.
Sistema de arquivo: O componente do sistema de arquivos fornece um comando
básico do sistema relacionado a arquivos e diretórios, como criação de arquivos, criação
de pastas, existência de arquivos, etc. O componente do sistema de arquivos pode ser
instalado usando o seguinte comando.
composer require symfony/filesystem
localizador:O componente Finder fornece classes fluentes para localizar arquivos e
diretórios em um caminho especificado. Ele fornece uma maneira fácil de iterar sobre os
arquivos em um caminho. O componente Finder pode ser instalado usando o seguinte
comando.
composer require symfony/finder
Console: O componente de console fornece várias opções para criar facilmente
comandos, que podem ser executados em um terminal. O Symfony usa o
componente Command extensivamente para fornecer várias funcionalidades , como
criar um novo aplicativo, criar um pacote, etc. . O componente Console pode ser
instalado usando o seguinte comando. criar um aplicativo simples e criar um
comando, HelloCommand usando o componente Console e invocá-lo.
Etapa 1 - Crie um projeto usando o seguinte comando.
Passo 2 – Crie um arquivo main.php , A classe Application configura a funcionalidade
necessária de um aplicativo de console simples.

8
Etapa 3 - Execute o aplicativo php main.php
Passo 4 – Crie uma classe chamada HelloCommand estendendo a classe Command no
próprio main.php .
O aplicativo usa as seguintes quatro classes disponíveis no componente Command .
Comando − Usado para criar um novo comando
InputInterface - Usado para definir as entradas do usuário
InputArgument - Usado para obter entradas do usuário
OutputInterface - Usado para imprimir a saída para o console
passo 5 − Crie uma função configure() e defina o nome, a descrição e o texto de ajuda.
passo 6 − Crie um argumento de entrada, usuário para o comando e defina como
obrigatório.
Passo 7 – Crie uma função execute () com dois
argumentos InputArgument e OutputArgument .
passo 8 − Use InputArgument para obter os detalhes do usuário inseridos pelo usuário
e imprimi-los no console usando OutputArgument .
passo 9 − Registre o HelloCommand no aplicativo usando o método add da
classe Application .
A aplicação completa é a seguinte.
<?php
require __DIR__ . '/vendor/autoload.php';
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Input\InputArgument;
class HelloCommand extends Command {
protected function configure() {
$this
->setName('app:hello')
->setDescription('Sample command, hello')
->setHelp('This command is a sample command')
->addArgument('name', InputArgument::REQUIRED, 'name of the user');
}
protected function execute(InputInterface $input, OutputInterface $output) {
$name = $input->getArgument('name');
$output->writeln('Hello, ' . $name);
}
$app = new Application();
$app->add(new HelloCommand());
$app->run();
}

9
?>
Etapa 10 - Agora, execute o aplicativo usando o seguinte comando e o resultado será
Olá, Vata, conforme o esperado.
php main.php app:hello Vata
O Symfony vem com um binário pré-construído chamado console no diretório bin de
qualquer aplicativo web Symfony, que pode ser usado para invocar os comandos em um
aplicativo.
Processo: O componente de processo fornece opções para executar qualquer comando
do sistema em um subprocesso, de maneira segura e eficiente. O componente do
processo pode ser instalado usando o seguinte comando.
composer require symfony/process
ClassLoader: O componente ClassLoader fornece implementação para o padrão de
carregador de classe PSR-0 e PSR-4 . Ele pode ser usado para carregar
automaticamente as classes. Ele será depreciado em um futuro próximo. O carregador
de classe baseado no compositor é preferido sobre este componente. O componente
ClassLoader pode ser instalado usando o seguinte comando.
composer require symfony/class-loader
PropertyAccess: O componente PropertyAccess fornece várias opções para ler e gravar
detalhes de um objeto e array usando a notação de string. Por exemplo, um
array Product com preço- chave pode ser acessado dinamicamente usando a
string [price] .
$product = array(
'name' => 'Cake'
'price' => 10
);
var priceObj = $propertyAccesserObj->getValue($product, '[price]');
O componente PropertyAccess pode ser instalado usando o seguinte comando.
composer require symfony/property-access
PropertyInfo: O componente PropertyInfo é semelhante ao componente
PropertyAccess, porém só funciona com objetos PHP e oferece muito mais
funcionalidade.
class Product {
private $name = 'Cake';
private $price = 10;
public function getName() {
return $this->name;
}

10
public function getPrice() {
return $this->price;
}
}
$class = Product::class;
$properties = $propertyInfoObj->getProperties($class);
/*
Example Result
--------------
array(2) {
[0] => string(4) "name"
[1] => string(5) "price"
}
*/
O componente PropertyInfo pode ser instalado usando o seguinte comando.
composer require symfony/property-info
EventDispatcher: O componente EventDispatcher fornece uma programação baseada
em eventos em PHP. Ele permite que os objetos se comuniquem enviando eventos e
ouvindo-os. Aprenderemos como criar eventos e ouvi-los no capítulo Events and Event
Listener: O componente EventDispatcher pode ser instalado usando o seguinte
comando.
composer require symfony/event-dispatcher
Injeção de dependência: O componente DependencyInjection fornece um mecanismo
fácil e eficiente para criar um objeto com sua dependência. Quando um projeto cresce,
ele apresenta muitas classes com dependência profunda, que precisam ser tratadas
corretamente. Caso contrário, o projeto falha. DependencyInjection fornece um
contêiner simples e robusto para lidar com a dependência. Aprenderemos sobre os
containers e o conceito de injeção de dependência no capítulo Service Container.
O componente DependencyInjection pode ser instalado usando o seguinte comando.
composer require symfony/dependency-injection
serializador: O componente Serializer fornece uma opção para converter um objeto
PHP em um formato específico, como XML, JSON, binário, etc., e então permite
convertê-lo de volta em um objeto original sem qualquer perda de dados.
O componente Serializer pode ser instalado usando o seguinte comando.
composer require symfony/serializer
Symfony - Expressão
Como discutimos anteriormente, a linguagem de expressão é um dos principais recursos
do aplicativo Symfony. A expressão Symfony é criada principalmente para ser usada

11
em um ambiente de configuração. Ele permite que um não programador configure o
aplicativo da Web com pouco esforço. Vamos criar um aplicativo simples para testar
uma expressão.
 Etapa 1 − Crie um projeto, exemplo de linguagem de expressão .
 cd /path/to/dir
 mkdir expression-language-example
 cd expression-language-example
 composer require symfony/expression-language
 Etapa 2 - Crie um objeto de expressão.
 use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
 $language = new ExpressionLanguage();
 Passo 3 – Teste uma expressão simples.
 echo "Evaluated Value: " . $language->evaluate('10 + 12') . "\r\n" ;
 echo "Compiled Code: " . $language->compile('130 % 34') . "\r\n" ;
 Passo 4 – A expressão do Symfony é tão poderosa que pode interceptar um
objeto PHP e suas propriedades também na linguagem de expressão.
A codificação completa é a seguinte.
main.php
<?php
require __DIR__ . '/vendor/autoload.php';
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
$language = new ExpressionLanguage();

echo "Evaluated Value: " . $language->evaluate('10 + 12') . "\r\n" ;


echo "Compiled Code: " . $language->compile('130 % 34') . "\r\n" ;

class Product {
public $name;
public $price;
}
$product = new Product();
$product->name = 'Cake';
$product->price = 10;

echo "Product price is " . $language


->evaluate('product.price', array('product' => $product,)) . "\r\n";
echo "Is Product price higher than 5: " . $language
->evaluate('product.price > 5', array('product' => $product,)) . "\r\n";
?>
Resultado

12
Evaluated Value: 22
Compiled Code: (130 % 34)
Product price is 10
Is Product price higher than 5: 1
Symfony - Pacotes
Um pacote Symfony é uma coleção de arquivos e pastas organizadas em uma estrutura
específica. Os pacotes são modelados de forma que possam ser reutilizados em vários
aplicativos. O próprio aplicativo principal é empacotado como um pacote e geralmente
é chamado de AppBundle .
Um bundle pode ser empacotado especificamente para um aplicativo, como
AdminBundle (seção admin), BlogBundle (blog do site), etc. Esses bundles não podem
ser compartilhados entre um aplicativo. Em vez disso, podemos modelar uma
determinada parte do aplicativo, como blogs, como um pacote genérico para que
possamos simplesmente copiar o pacote de um aplicativo para outro para reutilizar a
funcionalidade do blog.
Estrutura de um pacote
A estrutura básica de um bundle é a seguinte.
 Controlador - Todos os controladores precisam ser colocados aqui.
 DependencyInjection - Todo o código e configuração relacionados à injeção de
dependência precisam ser colocados aqui.
 Resources/config − As configurações relacionadas ao pacote são colocadas aqui.
 Recursos/visualização − Os modelos de visualização relacionados ao pacote são
colocados aqui.
 Recursos/público − Folhas de estilo relacionadas ao pacote, JavaScripts,
imagens, etc., são colocados aqui.
 Testes - Arquivos de teste de unidade relacionados ao pacote são colocados aqui.

13
Symfony - Edição CMF
O sistema de gerenciamento de conteúdo é um dos maiores mercado no cenário de
aplicativos da web. Existem muitos frameworks disponíveis para sistema de
gerenciamento de conteúdo, em praticamente todos os idiomas existentes. A maioria das
estruturas é fácil de trabalhar como cliente final, mas muito difícil de trabalhar como
desenvolvedor e vice-versa.
O Symfony fornece um framework simples e fácil para um desenvolvedor começar. Ele
também possui todos os recursos básicos esperados por um cliente final. Resumindo, é
responsabilidade do desenvolvedor proporcionar uma ótima experiência para o cliente
final.
Vamos ver como instalar um modelo de aplicativo CMS usando a edição Symfony
CMF.
 Etapa 1 - Baixe o sandbox Symfony CMF usando o seguinte comando.
composer create-project symfony-cmf/sandbox cmf-sandbox
Isso fará o download do Symfony CMF.
 Passo 2 - Tente configurá-lo fazendo algumas perguntas. Para todas as
perguntas, selecione a resposta padrão, exceto banco de dados. Para banco de
dados, selecione pdo_sqlite. Pode ser necessário habilitar a extensão sqlite do
PHP, caso ainda não esteja instalada.
 Etapa 3 - Crie um banco de dados de demonstração usando o aplicativo de
console da seguinte maneira.
php app/console doctrine:database:create
 Etapa 4 - Carregue os dados de demonstração no banco de dados usando o
seguinte comando.
php app/console doctrine:phpcr:init:dbal --force
php app/console doctrine:phpcr:repository:init
php app/console doctrine:phpcr:fixtures:load -n
 Etapa 5 - Agora, execute o aplicativo usando o seguinte comando.
php app/console server:run
 Etapa 6 - Por fim, abra o aplicativo no navegador usando http://localhost:8000/.

14
CONCLUSÃO
Em suma o Symfony é um ótimo framework para a criação de aplicações, independente
do seu tamanho. Neste artigo vimos algumas de suas principais características. Sendo
que a estrutura do Symfony consiste em vários componentes, como o componente
HttpFoundation que entende HTTP e oferece um bom objeto de solicitação e resposta
usado pelos outros componentes. Outros são apenas componentes auxiliares, como o
Validator, que ajuda a validar os dados. O componente do kernel é o coração do
sistema. Kernel é basicamente a 'classe principal' que gerencia o ambiente e tem a
responsabilidade de tratar uma requisição http. A estrutura bem organizada do Symfony,
código limpo e boas práticas de programação tornam o desenvolvimento web mais
fácil. O Symfony é muito flexível, usado para construir micro-sites e lidar com
aplicações corporativas com bilhões de conexões.

15
REFERÊNCIAS BIBLIOGRÁFICAS
https://www.treinaweb.com.br/blog/o-que-e-symfony

16

Você também pode gostar