Introdução aos frameworks PHP

Antes de conhecer profundamente os frameworks PHP, vamos falar sobre por que precisamos de frameworks e como eles facilitam a vida de um desenvolvedor?

Sempre que procuramos desenvolver um site, muitas coisas na arquitetura devem ser alinhadas antes de prosseguir com a linha real, como decidir como uma chamada baseada na Web percorrerá o caminho do cliente para o servidor, o que sem perda de generalidade incorpora verificar o tipo de solicitação (Get, Post ou Put), registrar a trilha de auditoria, gerenciamento de interceptores, etc.

Se você deseja adotar a abordagem vanilla sem incorporar nenhuma estrutura, provavelmente do tratamento de chamadas à segurança (como scripts entre sites), é necessário gerenciar todas as instâncias, provavelmente contratando vários desenvolvedores para o mesmo e, infelizmente, isso aumentará o custo do desenvolvimento de aplicativos.

Agora vamos mergulhar em que tipo de estruturas temos para o desenvolvimento do PHP e escolher a melhor que se adapte ao nosso aplicativo a ser desenvolvido (tendo em mente o domínio de negócios para o qual o desenvolvimento está sendo feito e quão rigorosas são as regras de negócios).

Lista de frameworks PHP

Aqui está uma lista das melhores estruturas PHP, com base na popularidade e capacidade de facilitar o desenvolvimento de aplicativos.

Laravel

É uma estrutura de código aberto, seguindo a arquitetura baseada em model-view-controller. Os vários recursos fornecidos por ele são -

  1. O Composer está disponível desde que o Laravel 4 chegou e atua como um gerenciador de dependências para adicionar um framework independente de estrutura.
  2. ORM eloquente, ou seja, uma implementação de padrão de registro ativo.
  3. O Query Builder fornece um conjunto de classes.
  4. O Laravel inspira código extremamente limpo e legível, facilitando assim a vida dos desenvolvedores.
  5. O Laravel oferece segurança robusta para aplicativos da Web, pois incorpora hash de senha, criptografia, verificação de e-mail e autenticação de API.
  6. O roteamento protegido e seguro é garantido, todas as rotas do Laravel são definidas no diretório de rotas e esses arquivos são baixados automaticamente pela estrutura.
  7. O token CSRF é anexado aos URLs para impedir a falsificação entre sites.
  8. No frontend, a estrutura oferece recursos como o modelo Blade (mecanismo de modelagem), localização, Javascript e andaimes CSS.
  9. Suporta Redis (armazenamento de valores-chave), paginação, migrações (compartilhamento do esquema do banco de dados), propagação do banco de dados,
  • Requisitos do servidor antes de trabalhar com o Laravel.

É melhor usar a máquina virtual do Laravel Homestead, por isso é altamente recomendável usá-la como nosso ambiente de desenvolvimento local do Laravel.

Se você não estiver usando o Homestead, será necessário o seguinte:

  • PHP> = 7.1.3
  • Extensão PHP OpenSSL
  • Extensão PHP DOP
  • Extensão PHP Mbstring
  • Extensão PHP do tokenizador
  • Extensão XML PHP
  • Extensão PHP de tipo
  • Extensão PHP JSON
  • Extensão PHP BCMath

Instalando o Laravel

O Laravel utiliza o compositor para gerenciar suas dependências, portanto, o principal requisito é que o compositor seja pré-instalado.

Faça o download do instalador do Laravel usando o compositor, conforme indicado abaixo.

O compositor global exige o Laravel / instalador.

  • Criando um projeto via compositor

Projeto de criação de compositores - prefer-dist Laravel / Laravel blog

  • Servidor de Desenvolvimento Local

artesão php servir

CodeIgniter

O CodeIgniter é uma estrutura de desenvolvimento de código aberto, a seguir estão os recursos fornecidos por ele:

  1. Ele não exige uma implementação rigorosa do Model-view-controller, o controlador é obrigatório, o modelo e a visualização são opcionais.
  2. As funções auxiliares estão lá, como os Auxiliares de URL que ajudam na criação do link, os Auxiliares de formulário, os Auxiliares de texto, para formatar o texto e os Auxiliares de cookies, para definir e ler os cookies.
  3. Você pode criar novas bibliotecas, substituir e remover bibliotecas nativas.
  4. O recurso Hooks fornece um meio de explorar e modificar o funcionamento interno da estrutura sem invadir os arquivos principais.
  5. O recurso de carregamento automático existe, permitindo que as bibliotecas, auxiliares e modelos sejam inicializados automaticamente toda vez que o sistema é executado.
  6. O CodeIgniter fornece o recurso de cache de página, melhorando assim o desempenho.
  7. O CodeIgniter possui uma classe de log de erros que permite que as mensagens de erro e depuração sejam salvas como arquivos de texto.
  8. O roteamento de URI está lá, a string da URL é mapeada exclusivamente para o controlador.
  9. O hash de senha existe para a versão PHP> 5.5
  10. Na parte do banco de dados, vários recursos fornecidos são QueryBuilder, QueryCaching, Transactions, etc.
  11. As variáveis ​​de ambiente podem ser definidas para decidir de onde o aplicativo deve ser executado, ou seja, com ambiente de desenvolvimento ou produção.
  • Como instalar o CodeIgniter -
  1. Faça o download do CodeIgniter a partir de Clique Aqui
  2. Descompacte o pacote.
  3. Carregue as pastas e arquivos do CodeIgniter no seu servidor. Normalmente, o arquivo index.php estará na sua raiz.
  4. Abra o arquivo application / config / config.php com um editor de texto e defina seu URL base. Se você pretende usar criptografia ou sessões, defina sua chave de criptografia.
  5. Se você pretende usar um banco de dados, abra o arquivo application / config / database.php com um editor de texto e defina as configurações do banco de dados.

Symfony

O Symfony é um software de código aberto, os componentes do Symfony são um conjunto de bibliotecas PHP dissociadas e reutilizáveis. Ele visa o desenvolvimento de aplicativos corporativos robustos e visa fornecer aos desenvolvedores controle total sobre a configuração do diretório para bibliotecas estrangeiras e pode ser personalizado.

O Symfony é incorporado com os seguintes recursos -

  1. O roteamento localizado (i18n) é fornecido, portanto, as rotas podem ser localizadas para fornecer caminhos exclusivos por localidade. Com o Symfony, essas rotas podem ser gravadas sem duplicação, curingas também são suportados.
  2. Os modelos do Twig estão lá, são simples e não processam as tags PHP, o twig pode fazer escape automático de HTML, o escape manual da saída contextual e a inclusão de alguns filtros.
  3. O cache do modelo Twig torna o processo rápido, à medida que os modelos são compilados em uma classe PHP nativa e armazenados em cache.
  4. O componente de ativos existe para geração de URL e versão de CSS, JS e imagens.
  5. O componente BrowserKit existe para simular o comportamento do navegador da Web, permitindo fazer solicitações, clicar em links e enviar formulários programaticamente.
  6. Existe um componente de injeção de dependência que implementa um contêiner de serviço compatível com PSR-11 que permite padronização e centralização de objetos no aplicativo.
  7. O componente DOMCrawler existe para facilitar a navegação do DOM para documentos HTML e XML.
  8. O componente Dotenv existe para tornar variáveis ​​de ambiente armazenadas em variáveis ​​.env.
  9. O distribuidor de eventos está lá para que os componentes possam se comunicar por meio do envio de eventos e ouvi-los.
  10. O componente LDAP já está presente para se comunicar com o servidor LDAP.
  11. O componente ExpressionLanguage fornece um mecanismo que pode compilar e avaliar expressões.
  12. O componente Polyfill / APCu fornece funções apcu_ * e a classe ACPUIterator para usuários da extensão APC herdada.
  13. O componente serializador existe para transformar objetos em formatos como JSON, XML ou YAML.
  • Etapas de instalação

Use as etapas a seguir para downloads, o compositor deve ser pré-instalado no sistema -

O compositor requer sinfonia / ativo

Para fazer o download de componentes individuais, como mencionado acima, visite -

https://symfony.com/components

CakePHP

O CakePHP é uma plataforma de código aberto que torna a construção de aplicativos da Web simples e rápida, requer menos código. O CakePHP vem com os seguintes recursos -

  1. Fornece andaimes para criar protótipos rapidamente.
  2. Existe uma classe de cache no CakePHP que suporta o cache e fornece a interface estática e a API uniforme para interagir com várias implementações de cache.
  3. A classe Hash fornece utilitários estáticos que fazem o gerenciamento adequado da matriz, otimizando o código.
  4. A classe do infletor é fornecida para manipular as strings fornecidas e manipular variações de palavras, como pluralização e camelização.
  5. O registro é fácil no CakePHP, a função log () é fornecida pelo LogTrait.
  6. A maneira mais rápida de começar a operar com o REST é adicionar algumas linhas para configurar rotas de recursos no config / routes.php
  7. O pacote de validação no CakePHP fornece recursos para construir validadores que podem validar matrizes arbitrárias de dados com facilidade.
  8. Vários plug-ins são suportados para uso em conjunto com o CakePHP e são Chronos (fornece uma coleção de extensões com zero-dependência para o objeto DateTime), DebugKit (possui barra de ferramentas de depuração e ferramentas aprimoradas de depuração), ElasticSearch (fornece uma abstração semelhante a ORM no pesquisa elástica, facilita o teste e a indexação de documentos).
  9. Phinx e CakePHP, phinx permite que os desenvolvedores alterem e manipulem bancos de dados de maneira clara. Não é necessário escrever SQL manualmente, mas o phinx fornece APIs poderosas para criar migrações usando o código PHP.
  10. O console Bake é fornecido para executar o CakePHP mais rapidamente, o console Bake pode criar modelos, visualizações, comportamentos, casos de teste, acessórios e plugins.

Phinx pode ser simplesmente instalado por:

compositor php. phar exigem robmorgan / phinx

O suporte ao middleware existe para que possamos agrupar nosso aplicativo em camadas reutilizáveis ​​e composíveis de tratamento de solicitações ou criação de respostas.

  • Instalação e pré-requisitos:

Vamos descrever certos pré-requisitos que devem ser satisfeitos antes de começarmos a instalação:

  1. Servidor HTTP (Apache, Nginx ou Microsoft IIS)
  2. PHP 7.3
  3. extensão PHP mbstring
  4. extensão PHP intl (se estiver usando o XAMPP, a extensão intl deve ser incluída, mas certifique-se de descomentar a extensão = php_intl.dll no Php.ini e reinicie o servidor XAMPP através do painel de controle, caso você esteja usando o WAMP, a extensão intl é ativada por padrão, basta você ir para a pasta php e copiar todos os arquivos sinônimos para icu * .dll e colá-los no diretório apache bin e reiniciar os serviços).
  5. extensão PHP simplexml
  6. Extensão PHP DOP
  7. Quaisquer bancos de dados na lista especificada devem ser instalados em sua máquina:
  • MySQL (v5.5.3 ou superior)
  • MariaDB (v 5.5 ou superior)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL Server (> = versão 2008)

FuelPHP

O FuelPHP é um framework de código aberto, rápido e compatível nas versões do PHP 5.4+, os recursos incorporados estão listados abaixo -

  1. É o tipo de estrutura MVVM que não se limita apenas ao model-view-controller, mas também possui a abordagem model-view-ViewModel. Os viewModels também são chamados de modelos de apresentação.
  2. O FuelPHP suporta a abordagem baseada em roteador, permitindo escrever diretamente o URI.
  3. Oferece suporte aos tokens CSRF para impedir a falsificação de scripts entre sites.
  4. O filtro de entrada e o construtor de consultas ajudam na injeção de SQL.
  5. A estrutura de autenticação é suportada para fins de autenticação segura.
  6. O FuelPHP fornece uma CLI chamada "petróleo", projetada para acelerar o desenvolvimento, testando a assistência e a depuração. Também ajuda a executar migrações de banco de dados.
  7. Algumas classes básicas são fornecidas aos controladores e modelos para que os desenvolvedores possam ter um início rápido, tais recursos são - Controller_Template (adicione funcionalidade simples de modelagem de página aos controladores), Controller_Rest (caminho para a criação da API RESTful), Controller_Hybrid (combine dois recursos em um único controlador), Model_crud (fornece todos os métodos para operações CRUD em uma única tabela).
  8. O ORM leve fornece uma maneira orientada a objetos de trabalhar com dados do banco de dados e executar CRUD, os gostos de relacionamento têm muitos, muitos estão lá, salvamentos e exclusões em cascata para objetos relacionados. Os observadores estão lá para atualizar instâncias de objetos.
  9. A segurança incorpora a estrutura Auth e integrou a biblioteca Opauth e fornece vários outros recursos, como RBAC (Role Based Access Control), função segura de hash para senhas, integração OAuth para autenticação de mídia social.
  10. Existem analisadores de modelo para aprimorar as visualizações do PHP simples, existem inúmeras bibliotecas para isso:
    1. Bigode
    2. Galho
    3. Haml
    4. Jade
    5. Dawoo
    6. Smarty
    7. Markdown
  • Etapas de instalação -

Siga os passos indicados para o mesmo -

$ curl https://get.fuelphp.com/oil | sh

O projeto pode ser criado usando

$ petróleo criado

$ composer create-project fuel / fuel –prefer-dist

Conclusão - Frameworks PHP

Na documentação acima, citamos vários frameworks PHP usados ​​para transportar vários recursos para o desenvolvimento de código. A análise dos requisitos e padrões de projeto a serem seguidos deve ser discutida primeiro antes de escolher qualquer um deles. As estruturas tinham diversidade e forneceram vários plug-ins para fazer com que o log e o rastreamento de métricas estivessem lá.

A estrutura denominada Lumen da Laravel é muito apreciada enquanto se procura o desenvolvimento de microsserviços, pois a arquitetura dos microsserviços é diferente dos aplicativos monolíticos; os mecanismos de registro, o manuseio do banco de dados, a segurança do Auth e a implementação são a principal preocupação antes da codificação.

Outra coisa a ser resolvida ao optar por uma estrutura é o domínio para o qual o aplicativo está sendo projetado, como os serviços bancários e financeiros, gerenciamento de cadeias de suprimentos, ciências da vida, varejo ou redes sociais.

Como com base nesses domínios, temos que incorporar plug-ins e designs para cuidar do rastreamento distributivo, tentativas de repetição de serviço etc.

Portanto, um codificador pode prosseguir com qualquer uma das estruturas citadas após avaliar os recursos em estreita conjunção com o aplicativo.

Artigos recomendados

Este foi um guia para os frameworks PHP. Aqui discutimos a lista de estruturas PHP com seus recursos e as etapas de instalação. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. O que é PHP? Quais são os usos?
  2. Guia detalhado sobre o que é a matriz PHP?
  3. Vantagens da programação PHP
  4. Introdução ao PHP | Tutoriais completos
  5. MariaDB vs MySQL | Comparando os principais recursos de fonte de banco de dados
  6. Função hash em PHP | Como trabalhar?