Acelerando o desenvolvimento do Drupal com o Drupal Console e Drush
Publicados: 2022-02-22Escrevemos extensivamente (estamos nessa coisa) sobre como o Drupal 8 não apenas modernizou as experiências digitais para o usuário, mas também facilitou o trabalho de desenvolvimento para os desenvolvedores do Drupal. Neste artigo, discutiremos duas dessas ferramentas de utilitário Drupal 8/9 que simplificaram e melhoraram enormemente a maneira como você trabalha com código, módulos e instalações Drupal - Drupal Console e Drush.
O que é o Console Drupal
Desde o avanço do Drupal 8, tornou-se necessário adicionar muito código clichê para construir um novo módulo. Claro, você pode simplesmente copiar e colar o código, mas fazer isso repetidamente pode abrir portas para muitos erros. Tudo bem. Somos humanos. Felizmente, temos o console Drupal - um conjunto de ferramentas que você executa em uma CLI (Command Line Interface) que permite gerar automaticamente código clichê. Ele aproveita o Symfony Console e outros componentes de terceiros para gerar a maior parte do código necessário para construir um módulo Drupal 8/9.
O que é Drush
Drush (Drupal + Shell) é a ferramenta CLI original para Drupal. Ele permite que você crie novos sites Drupal com facilidade e ajuda a otimizar tarefas administrativas e de desenvolvimento. Drush vem com muitos comandos fáceis de implementar que permitem que você interaja com suas instalações, temas, módulos e muito mais do Drupal. Algumas das outras tarefas que você pode realizar com o Drush são exportar/importar configurações, cache, atualização de módulos contrib, atualização do banco de dados e muito mais.
Drush funciona bem com Drupal 6/7/8/9 e oferece vantagens de práticas de desenvolvimento modernas. Ele ajuda a economizar tempo de desenvolvimento, tanto durante a migração de módulos Drupal existentes quanto durante a criação de novos, aumentando assim a produtividade. Saiba como criar seus próprios comandos Drush personalizados neste artigo.
Instalando o Drupal Console
O console Drupal pode ser instalado através de vários métodos como composer, curl, phar etc. Aqui está um exemplo de instalação usando o composer:
Instale globalmente via compositor
composer global require drupal/console
Instalação específica do local
1. Navegue ao site Drupal na CLI:
cd /path/to/drupal_site
2. Execute o comando composer require:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Instalando Drush
Drush pode ser instalado através de vários métodos, como composer, curl ou phar. Aqui está um exemplo de instalação usando o compositor:
Instale globalmente via compositor
composer global require drush/drush
Instalação específica do local
1. Navegue ao site Drupal na CLI:
cd /path/to/drupal_site
2. Execute o comando composer require:
composer require drush/drush
Comandos e uso do console Drupal
Confira alguns dos comandos mais populares e úteis do Drupal Console e quando eles podem ser usados.
Comando de depuração do Drupal
- Para identificar os pontos de interrupção ao trabalhar em temas:
drupal debug:breakpoints {theme_name}
Exemplo: drupal debug:breakpoints bartik
- Para encontrar facilmente a classe e o nome do serviço ao trabalhar com serviços:
drupal debug:config:settings
- Para identificar o ponto de falha quando você tem blocos quebrados dolorosos:
drupal debug:plugin block broken
Gerar módulos personalizados
Crie módulos personalizados em um minuto usando este comando:
drupal generate:module \ --module="modulename" \ --machine-name="modulename" \ --module-path="/modules/custom" \ --description="My Awesome Module" \ --core="8.x" \ --package="Custom" \ --module-file \ --composer \ --test \ --twigtemplate
Gerar formulário personalizado
Os requisitos de formulários personalizados são muito comuns em todos os projetos. Criando formulário personalizado facilmente com este comando:
drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Gerar formulário de configuração
Assim como os formulários personalizados, também exigimos formulários configurados pelo administrador. Com este comando você pode criá-los facilmente:
drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Gerar controlador
Com formulários personalizados, você precisará de controladores. Você pode criar facilmente controladores personalizados com este comando:
drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
Gerar Entidade Personalizada
Criar uma entidade personalizada não precisa ser demorado, com este comando você pode criá-la de forma rápida e fácil:
drupal generate:entity:content \ --module="modulename" \ --entity-class="DefaultEntity" \ --entity-name="default_entity" \ --base-path="/admin/structure" \ --label="Default entity" \ --is-translatable \ --revisionable --has-forms
Gerar serviço personalizado
Este comando ajuda você a criar serviços personalizados:
drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
Criar conteúdo como usuário:criar
Para criar um usuário a partir do back-end, você não precisa abrir o navegador e fazer login com admin e depois criar uma conta. Basta usar este comando para criar um usuário em um instante:
drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
Gerar Plugin como bloco
O Drupal Console também é capaz de gerar muitos plugins como blocos. Aqui está um exemplo de criação de um bloco personalizado:
drupal generate:plugin:block \ --module="modulename" \ --class="DefaultBlock" \ --label="Default block" \ --plugin- \ --theme-region="header" \ --inputs='"name":"inputtext", "type":"text_format", "label":"InputText", "options":"", "description":"Just an input text", "maxlength":"", "size":"", "default_value":"", "weight":"0", "fieldset":""'
Para mais comandos e uso do console Drupal, verifique estes comandos disponíveis.
Comandos Drush mais populares
drush cr | Para reconstruir o cache do Drupal |
drush cim | Para importar todos os arquivos de configuração |
drush cex | Para exportar arquivos de configuração |
drush uli | Para fazer login usando o URL de login único |
drush em {module_name} | Habilita qualquer módulo customizado ou contrib ou core |
drush pmu {module_name} | Desativa e desinstala qualquer módulo |
drush pm:list | Lista todos os módulos com o pacote, nome do módulo, versão e status |
drush updb | Para atualizar o banco de dados após a atualização |
drush watchdog:list(ws) | Lista todas as mensagens de watchdog |
Drush watchdog:tail(wt) | Mensagens de watchdog de cauda contínuas |
drush watchdog:tail --type=php | Mensagens de watchdog de cauda contínuas com tipo de gravidade específico |
Mais alguns comandos legais do Drush
estado de drush | Fornece uma visão geral da instalação atual do Drupal |
drush gerar | Assim como o Drupal Console, o comando drush generate ajuda a gerar entidades, plugins e muito mais |
drush pm: segurança | Para verificar o pacote do compositor Drupal para atualizações de segurança |
drush migrar:status | Lista todas as migrações com status atual |
drush usuário:senha {username} {password} | Define a senha do usuário |
drush usuário:bloquear | Ajuda a bloquear o usuário |
drush usuário: papel: adicionar | Ajuda a adicionar funções de usuário |
drush sql-dump | Exporta o banco de dados Drupal como SQL usando mysqldump ou equivalente. |