Um guia para iniciantes no console do Laravel Artisan

Artisan é a ferramenta de linha de comando que o Laravel usa para acessar seus aplicativos. Ele fornece vários comandos que podem facilitar muito o processo de desenvolvimento.

Portanto, se você está se perguntando o que ele pode fazer e como começar a fazê-lo, este é o guia para você. Aqui está tudo o que você precisa saber sobre como usar o console Artisan no Laravel.

Começando

Em seu terminal, digite o comando abaixo no diretório de seu aplicativo Laravel.

 $ php artisan list

Ele irá mostrar a lista de comandos disponíveis.

Ao usar comandos, você pode precedê-los com a opção de ajuda para mostrar seus argumentos e opções disponíveis. O terminal exibirá uma breve descrição do que eles fazem no lado direito.

 $ php artisan --help serve

Dica: Como acontece com a maioria das ações de linha de comando, a sintaxe é: comando [opções] [argumentos]

Funileiro

Tinker é o REPL (ou shell interativo) que o Laravel usa. Um "loop de leitura-avaliação-impressão" (REPL) é um ambiente de programação que recebe entradas de um único usuário, as processa e retorna um resultado ao usuário.

Você pode comparar o Tinker ao uso do interpretador Python, mas o Tinker é feito sob medida para o Laravel.

Esse ambiente específico oferece muitas vantagens, como a fácil execução de testes simples no sistema sem gravar arquivos constantemente.

Nota: Se você estiver usando o Laravel Sail, adicione o comando sail e suas instruções serão executadas dentro dos containers Docker de seu aplicativo.

 $ ./sail artisan list

Como instalar o Tinker

Por padrão, seu aplicativo Laravel vem com o Tinker. Se você já o desinstalou anteriormente, pode adicioná-lo novamente por meio do compositor .

 $ composer require laravel/tinker

Comandos de digitação

O Tinker permite que você interaja com todo o seu aplicativo. Para começar a usar o Tinker, digite:

 $ php artisan tinker

Em seguida, você é saudado com a concha do funileiro.

Relacionado: Como manipular texto em PHP com essas 9 funções

O Tinker tem uma lista de permissões de comandos que determina quais comandos podem ser executados em seu shell. Para expandir esta lista, você pode ir para o diretório / vendor / laravel / tinker / config que contém tinker.php .

Você pode editar este arquivo em seu editor de texto preferido para adicionar seu comando.

 'commands' => [
// AppConsoleCommandsExampleCommand::class,
],

Definindo Seus Próprios Comandos

Além dos comandos artesanais padrão, você pode criar seus próprios comandos. Na criação, os comandos são armazenados automaticamente no diretório app / Console / Commands .

Em seu novo projeto Laravel, você não verá o diretório / Command . Isto é normal. A pasta é criada automaticamente quando você define um novo comando. Veja como gerar comandos abaixo.

Criando Comandos

Defina a assinatura do seu comando e uma descrição da classe. No arquivo de classe do comando, você também definirá seus argumentos. Veja este exemplo:

 $ php artisan make:command GetDailySales

O arquivo abaixo é gerado automaticamente na execução. Você pode colocar sua lógica de comando no método de manipulação, pois é chamado quando o comando é executado.

 
<?php
namespace AppConsoleCommands;
use IlluminateConsoleCommand;
class GetDailySales extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected$signature = 'command:name';
/**
* The console command description.
*
* @var string
*/
protected$description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
publicfunction__construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return int
*/
publicfunctionhandle()
{
return0;
}
}

Comandos de Fechamento

Você pode contrastar comandos de fechamento para ter fechamentos de rota definidos em vez de usar controladores. Da mesma forma, em vez de criar classes de comando (como fizemos na seção "Criando comandos"), você pode apenas usar encerramentos de comando.

A vantagem aqui é que você terá menos arquivos para gerenciar e sua lógica será mais fácil de folhear.

Leia mais: Linguagens de programação de alto nível vs. baixo nível, explicadas

O arquivo Kernel.php define as rotas do console para o seu aplicativo. Você pode definir todos os comandos do console de encerramento com o método Artisan :: command neste arquivo. O comando recebe dois argumentos: a assinatura do comando e o encerramento ao qual você está atribuindo.

 Artisan::command('report:get {day}', function ($day) {
$this->info("Generating report for: {$day}!");
});

Dependências de sugestão de tipo

Dica de tipo refere-se à definição estática do tipo de dados que uma função deve retornar ou um argumento deve assumir. Os fechamentos de comando também podem sugerir as dependências que você precisa obter do contêiner de serviço.

Descrevendo fechamentos de comandos

Para adicionar uma descrição a um fechamento de comando, use o método purpose () .

 
Artisan::command('text:send {user}', function ($user) {
// ...
})->purpose('Send sms text to a user');

Você pode ver uma lista completa de comandos e funcionalidades nos documentos do Laravel .

Saiba mais Laravel

O Laravel tem uma forte comunidade de desenvolvedores e uma documentação bem escrita de seu site oficial. Isso significa que você nunca ficará sem lugares para encontrar ajuda quando ficar preso.

Continue praticando com o console do artesão e você perceberá como os comandos podem ser poderosos e rápidos. Laravel não é apenas o console Artisan, no entanto.

O Laravel 8 apresenta uma série de novos recursos para aprimorar o seu jogo de desenvolvimento da web.