O Symfony 5.0 foi lançado em 21 de novembro de 2019. Ao contrário do Symfony 4.0, ele não altera completamente nenhuma estrutura de diretório nem adiciona nenhuma nova forma inovadora de desenvolvimento. Em vez disso, o Symfony 5 usa como base o Symfony 4 e fornece novos recursos para facilitar a vida.

De acordo com o processo de lançamento do Symfony, o Symfony 5.0 possui todos os novos recursos introduzidos no Symfony 4.4. Confira a série sobre as novidades no Symfony 4.4 para aprender sobre todos esses ótimos recursos. Além disso, o Symfony 5.0 adiciona alguns recursos exclusivos que não…

O PHP 7.4, lançado há alguns dias, é o lançamento mais empolgante do PHP em anos. Inclui recursos inovadores, como propriedades tipadas (typed properties), funções de seta (arrow functions), tipos covariantes (covariant types), IFF (Foreign Function Interface), pré-carregamento do OPCache (OPCache preloading), e muito mais.

Pré-carregamento do OPCache

Bem no início, o PHP compilava e fazia parse de qualquer arquivo usado para atender a uma requisição. O resultado da compilação/parse (chamado “opcodes”) não era reutilizado para outras requisições; portanto, o mesmo processo precisava ser repetido várias vezes.

Nos servidores de produção, o código de seus arquivos PHP não muda entre as requisições; portanto…

Sintaxe YAML Aprimorada para as Chamadas de Método

As chamadas de método e a injeção de setter de serviço são maneiras diferentes de chamar alguns métodos em suas classes ao criar os serviços para elas. No Symfony 4.4, a sintaxe YAML foi aprimorada para torná-las mais concisas e fáceis de ler/gravar:

A chamada de métodos wither também foi simplificada:

Dump do Container em Um Único Arquivo

Originalmente, o container do Symfony foi compilado e feito dump em um grande arquivo PHP. Em seguida, foi alterado para permitir o dump de cada serviço em seu próprio pequeno arquivo PHP. No Symfony 4.4, foi adicionada uma nova opção de configuração para permitir o dump do container novamente em um grande arquivo único.

Isso é ativado por padrão em todas as novas aplicações Symfony, mas você também pode ativá-lo em suas aplicações existentes através do arquivo src/Kernel.php:

Ignorar Erros ao Importar Arquivos

Ao importar arquivos de configuração, você pode usar a opção ignore_errors: true para ignorar silenciosamente os arquivos ausentes. No entanto, essa…

O controle de espaços em branco nos templates Twig permite controlar a indentação e o espaçamento do conteúdo gerado (geralmente código HTML). O controle de espaços em branco é muito importante ao usar o Twig para gerar conteúdos como YAML, e-mails de texto, ou qualquer outro formato em que os espaços em branco sejam significativos.

Em contraste, ao gerar conteúdo HTML, na maioria das vezes você deve ignorar esse recurso, porque o conteúdo HTML é minificado e compactado antes de ser enviado aos usuários, portanto, tentar gerar um código HTML perfeitamente alinhado é apenas uma perda de tempo.

No entanto…

Twig, a linguagem de template usada no Symfony e em milhares de outros projetos, possui três branchs de desenvolvimento ativas:

  • 1.x: para aplicações legadas
  • 2.x: para aplicações atuais
  • 3.x: será a próxima versão estável

Ao contrário do Symfony, branchs mais antigas do Twig ainda recebem alguns novos recursos. Por exemplo, a 1.x recebeu um novo recurso “filter, map and reduce” e novas opções para trim de espaços em branco. No entanto, às vezes, novos recursos precisam descontinuar alguns comportamentos atuais. Isso não pode ser feito na branch 1.x …

A versão estável do Symfony 4.3 foi lançada em 30 de maio de 2019, mas ainda há alguns novos recursos que não foram mencionados. Neste artigo você aprenderá sobre o componente Mailer, o terceiro componente adicionado pelo Symfony 4.3 (após o componente Mime e o componente HttpClient).

O componente Mime permite criar mensagens de e-mail, mas, para realmente enviá-las, você precisar usar o componente Mailer. Os e-mails são entregues por meio de um “transporte”, que pode ser um servidor SMTP local ou um serviço de e-mail de terceiros.

Esse componente já fornece suporte para os serviços mais populares: Amazon SES…

Andréia Bohner

Curious Mind

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store