Quando criamos uma aplicação Symfony automaticamente podemos executar uma série de comandos a partir do arquivo bin/console
. Esses comandos são muito úteis no desenvolvimento do nosso projeto, porém ele está limitado ao contexto da aplicação. Baseado nessa dificuldade e outras limitações foi criado um programa de linha de comando que pode ser instalado globalmente na máquina. Ele facilita desde a criação do projeto até tarefas diárias no desenvolvimento.
O utilitário também conta com uma série de recursos para deploy e configuração de aplicações que utilizam o Symfony Cloud, um serviço de nuvem que apresenta uma série de facilidade para a hospedagem de aplicações que utilizam o framework.
Curso Symfony - Fundamentos
Conhecer o cursoInstalando o comando Symfony
A instalação é extremamente simples, independente do sistema operacional que está usando na sua máquina.
Windows: Basta baixar o instalador e executar com todas as opções padrão. Ele fará o download do utilitário e colocará o caminho na variável PATH, permitindo que execute o comando symfony
a partir do prompt.
Linux: Ao executar no terminal wget https://get.symfony.com/cli/installer -O - | bash
ele fará o download e a instalação. Em seguida precisamos tornar o comando global, para isso podemos mover o arquivo para a pasta de executáveis com o seguinte comando mv $HOME/.symfony/bin/symfony /usr/local/bin/symfony
MacOS: Executar no terminal curl -sS https://get.symfony.com/cli/installer | bash
e em seguida mover o arquivo para a pasta de executáveis com o comando mv $HOME/.symfony/bin/symfony /usr/local/bin/symfony
Verificando a instalação
Depois de instalado podemos executar o comando symfony
em qualquer terminal que ele exibirá os comandos disponíveis:
Caso queira explorar todos os comandos de forma detalhada execute Symfony --help
. Conforme falamos anteriormente, o comando symfony
possui uma série de ferramentas específicas para trabalhar com Symfony Cloud, porém no escopo desse artigo vamos explorar apenas os comandos voltados para aplicação local.
Criando o projeto
A primeira coisa que podemos fazer é criar a estrutura do nosso projeto através do comando symfony
, ele possui uma sintaxe bem mais simples que a do composer. Para criar a aplicação com estrutura mínima usamos:
symfony new my_project
Se quisermos a aplicação com a estrutura completa web executamos:
symfony new --full my_project
Caso não saiba a diferença entre os 2 tipos de aplicação e a sintaxe de criação de projetos a partir do composer veja: Como criar projeto no Symfony e seu primeiro CRUD.
Curso Zend Expressive - Microframework PHP
Conhecer o cursoServidor de desenvolvimento
A recomendação do Symfony é utilizar o servidor disponível no utilitário de linha de comandos symfony
para desenvolvimento. Esse servidor possui suporte a HTTP2, HTTPS, domínio local e outros.
Dentro da pasta da aplicação execute:
symfony server:start
Caso tenha várias versões do PHP na máquina ele pode apresentar um erro ao iniciar o servidor, dependendo das versões instaladas. Nesse caso você pode executar o comando symfony local:php:list
ele mostrará qual versão está usando, se precisar mudar basta criar um arquivo chamado .php-version
com a versão do PHP desejada.
Caso queira usar certificado local para HTTPS, precisa executar uma única vez o comando:
symfony server:ca:install
Comandos da aplicação
Podemos ainda rodar os comandos da aplicação diretamente pelo utilitário symfony
, ao invés de executar o comando php bin/console
conseguimos chamar symfony console
.
Veja o exemplo abaixo:
symfony console make:form clientType
Esse comando realiza a criação de uma classe específica para trabalhar com componente de formulários. Poderia ser qualquer outro comando disponível no framework.
Verificação de segurança das dependências
Sempre que instalamos dependências em nosso projeto estamos sujeitos a adicionar código com algum tipo de vulnerabilidade. Existem algumas bases de dados que indicam quais dependências e versões dela possuem problemas de segurança. O symfony possui um comando para realizar essa verificação:
symfony security:check
Ele faz a leitura do composer.lock
que guarda a versão de todos os itens instalados no seu projeto e te avisará caso algum deles possui falha conhecida.
Executando demais utilitários
O comando symfony
ainda nos permite executar outros recursos através dele: composer, php, pecl, pear, php-fpm, php-cgi, php-config e phpdbg.
No caso do composer a principal vantagem é executar o gerenciador de dependências sem limite de memória. Por exemplo:
symfony composer require symfony/maker-bundle --dev
E para os comandos do php a principal vantagem é a execução já na versão do php usada no projeto, versão que pode ser indicada no arquivo .php-version
na raiz do projeto.
Conclusão
O comando symfony
é uma ferramenta indispensável no ambiente de desenvolvimento. Ela contém um poderoso servidor de desenvolvimento, utilitários que ajudam no dia a dia, além de comandos específicos para trabalhar com Symfony Cloud.