Introdução
Symfony é um framework PHP popular que permite desenvolver aplicativos da web rapidamente. É fácil de aprender e tem uma grande comunidade de usuários. No entanto, como em qualquer outra tecnologia, é possível cometer erros. Neste artigo, discutiremos os 10 erros comuns em projetos Symfony e como evitá-los.
1. Usando Bcrypt para hash de senha
O bcrypt é um algoritmo de hash de senha forte, mas ele pode ser muito lento quando usado na autenticação do usuário. Em vez disso, use a função password_hash() embutida do PHP, que usa os algoritmos de hash mais recentes e pode ser trabalhado melhor em um ambiente de alto tráfego.
// Use password_hash() para hash de senha
$password = password_hash($password, PASSWORD_DEFAULT);
2. Não definir o ambiente corretamente
Um projeto Symfony pode ter vários ambientes, como produção, teste e desenvolvimento. Sempre defina o ambiente correto. Definir um ambiente de produção em um servidor local de desenvolvimento pode causar erros difíceis de diagnosticar. Defina o ambiente no arquivo .env
ou no arquivo config/packages/framework.yaml
.
3. Não usar o console Symfony
O console Symfony é uma ferramenta poderosa que permite executar tarefas, como criar ou atualizar uma tabela de banco de dados, executar testes ou instalar dependências. Use o console para tarefas repetitivas e economize tempo.
# Use o console Symfony
php bin/console security:check
4. Ignorar os erros de PHP
Ao contrário de outras linguagens de programação, o PHP não é capaz de verificar erros em tempo de compilação. Portanto, é essencial verificar regularmente logs de erros quando se desenvolve em Symfony. Ignorar esses erros pode levar a bugs em longo prazo.
5. Não usar o sistema de rotas do Symfony
O sistema de rotas do Symfony é muito poderoso e permite criar rotas com parâmetros e restrições. Não ignore o sistema de rotas do Symfony e não crie rotas personalizadas em sua aplicação.
# Use o sistema de rotas do Symfony
# config/routes.yaml
blog_post:
path: /blog/{id}
controller: AppControllerBlogController::show
requirements:
id: d+
6. Não usar o Doctrine
O Doctrine é uma camada de abstração de banco de dados que permite escrever consultas de banco de dados de forma mais fácil e sem amarras com o banco de dados subjacente. Use o Doctrine para manipular dados na base de dados.
# Use o Doctrine
$result = $entityManager->getRepository(BlogPost::class)->find($id);
7. Não usar os componentes Symfony
O Symfony é composto por muitos componentes diferentes, desde a validação até a criação de formulários. Aproveite esses componentes para desenvolver seu aplicativo. Os componentes do Symfony são bem testados e mantidos pela comunidade.
# Use os componentes Symfony
$form = $this->createFormBuilder($task)
->add('task', TextType::class)
->add('dueDate', DateType::class)
->add('save', SubmitType::class, ['label' => 'Create Task'])
->getForm();
8. Esquecer de limpar o cache
O cache é um componente-chave do Symfony que permite que o aplicativo seja executado mais rapidamente. No entanto, o cache também pode ser responsável por bugs quando não atualizado corretamente. Execute regularmente o comando php bin/console cache:clear
para manter o cache limpo e atualizado.
9. Não usar as melhores práticas de segurança
O Symfony tem muitas ferramentas de segurança, como firewalls de autenticação, proteção contra ataques CSRF e sanitização de dados de formulário. Use essas ferramentas e não invente sua própria segurança.
10. Não documentar seu código
Documentar seu código é essencial para colaboração e manutenção de projetos Symfony. Use anotações PHPDoc para descrever métodos e classes de maneira clara e concisa. Uma boa documentação pode economizar muito tempo para desenvolvedores posteriores.