Glossary

Os conceitos técnicos que deve saber para conseguir um emprego como programador Laravel.

  • Laravel's Artisan é uma ferramenta de linha de comando que faz parte de todas as aplicações Laravel, e pode ser acedida executando php artisan a partir da raiz de qualquer aplicação Laravel. O Artisan vem com uma grande lista de comandos que tornam fácil fazer qualquer coisa, desde criar modelos, controladores, migrar tabelas de base de dados ou interagir com uma base de dados usando a interface de linha de comando. Além dos comandos que já são fornecidos, os programadores também podem criar comandos personalizados para simplificar o processo de interação com cada aplicação a partir da linha de comando.

  • Blade é o motor de templates fornecido com o Laravel. Embora pudéssemos usar PHP simples dentro de arquivos HTML, o código rapidamente se tornaria confusa e difícil de ler. Com o Blade, ainda podemos percorrer os dados das visualizações usando @for,@foreach, @forelse ou @while, exportar dados usando a sintaxe das chavetas {{}}, ou exibir dados condicionalmente usando sintaxe clara como @if, @elseif, @else e @menos. O Blade também oferece muito mais diretivas e a capacidade de construir as suas próprias, e um potente sistema de herança, que tornam o Blade uma linguagem de templates muito poderosa, mas fácil de entender.

  • A practice where developers on a team frequently merge their code changes into a repository they share. Automated tests and builds run on these changes to quickly identify and fix issues, ensuring the software remains stable and can be reliably built and deployed properly.

  • # Proteção CSRF

    (CSRF Protection)

    Para proteger sua aplicação contra falsificação de pedidos entre sites, que é um tipo de ataque malicioso de um site, o Laravel gera (e valida) um token CSRF para cada pedido POST para verificar o utilizador autenticado. Adicione @ csrf dentro da tag do seu <form> e o Laravel cuidará do resto.

  • CSS (Cascading Style Sheet) é a linguagem principal usada em sites para descrever a aparência visual pretendida do site e do seu conteúdo. Por exemplo, permite que o navegador web determine o tamanho do texto, a cor do fundo de um título ou o espaçamento entre dois elementos na página.

  • Laravel Cashier é um pacote que oferece uma interface fácil de usar e configurável para diversos serviços de pagamento, como Stripe, Paddle ou Mollie.

  • # Coleções

    (Collections)

    Uma coleção no laravel é um wrapper para arrays, fornecendo métodos para manipular os dados do array de forma mais fácil.

  • Concerns in Laravel are simply a collection of traits – a language feature native to PHP. The term "concerns" comes from the programming design principle "separation of concerns." The authors of Laravel implement this design principle by using traits.

  • Laravel's core services are defined by a set of PHP interfaces called contracts. Contracts allow you to explicitly define dependencies for your classes. For example, a class that implements the Illuminate\Contracts\Mail\Mailer contract is required to provide an implementation for all of the methods needed for sending an email. Each of Laravel's contracts has a corresponding implementation provided by the framework.

  • Laravel Dusk é um pacote de automatização de testes de browser e API. Com o Dusk, pode testar programaticamente a sua aplicação Laravel ou visitar qualquer site usando o browser Chrome. O Dusk pode automatizar tarefas repetitivas ou extrair informações de outros sites e, embora o Dusk use um driver do Chrome, pode usar qualquer outro driver compatível com Selenium.

  • Laravel Echo é uma biblioteca JavaScript para transmissão de eventos. Facilita o manuseamento da autenticação, autorização, assinatura de canais e a escuta de eventos. Como o Laravel Echo é uma biblioteca Javascript, ele precisa ser instalado via gestor de pacotes NPM.

  • Eloquent is an object-relational mapper (ORM) that makes interacting with your database a breeze.

  • O Laravel Envoy fornece uma sintaxe clara e concisa semelhante ao Blade para definir tarefas comuns executadas em servidores remotos.

  • Laravel Forge é uma ferramenta de aprovisionamento e gestão de servidor para aplicações PHP. O aprovisionamento de servidor é o processo de configurar um servidor e torná-lo pronto para ser usado. Este processo inclui instalar e configurar todas as aplicações necessárias, conectá-las ao middleware, redes, armazenamento e, finalmente, implementar a aplicação. O Laravel Forge torna este processo assim como o gestão do servidor fácil e conveniente.

  • HTML (Hypertext Markup Language) é a linguagem principal usada para representar o conteúdo em páginas web. Por exemplo, permite que o navegador web determine que partes do conteúdo são títulos, que partes são texto de parágrafo e que partes devem ser formatadas como tabelas.

  • # Métodos Helper

    (Helper Methods)

    O Laravel fornece um grande número de funções globais chamadas de Helpers que tornam algumas tarefas comuns mais fáceis de executar. A lista inclui métodos para trabalhar com strings, arrays, objetos, URLs e outros métodos.

  • O Laravel Homestead é uma caixa Vagrant oficial e pré-configurada para aplicações Laravel e clona de forma muito semelhante o Laravel Forge.

  • Horizon é um painel e pacote de configuração para pilhas Redis em Laravel. Redis (RemoteDictionaryServer) é um armazenamento de valores-chave na memória usado como base de dados, cache e mensagens, e o Horizon facilita a monitorização das principais métricas, por exemplo, integridade, desempenho, falhas ou histórico de qualquer sistema de pilha na sua aplicação Laravel.

  • # Localização

    (Localization)

    A localização é uma maneira de traduzir um site ou aplicação para diferentes idiomas, incluindo moedas locais e unidades de medida. O Laravel fornece uma maneira fácil de recuperar strings em várias linguagens usando a função auxiliar __ ou a diretiva Blade @lang. O Laravel também suporta pluralização para linguagens que possuem regras de pluralização diferentes.

  • Lumen é uma micro framework gratuita focada numa API desenvolvida pelo Laravel. Com uma velocidade incrível torna-se um das micro frameworks mais rápidas do mercado e, por ser movida por componentes do Laravel, é muito fácil atualizar a aplicação Lumen para uma aplicação Laravel completa.

  • O Laravel Nova é um painel de administração conhecido por seu excelente design e capacidade de administrar os registros da base de dados da aplicação, utilizando o Eloquent, o Laravel ORM (Object-Relational Mapping).

  • Laravel Passport é um pacote para autenticar APIs. Devido à natureza única das APIs, ue normalmente usam tokens para autenticar utilizadores e não mantêm o estado da sessão entre os pedidos, a autenticação de APIs nem sempre foi simples. O Laravel Passport torna isso possível implementando um servidor OAuth2 dentro da sua aplicação Laravel.

  • Redis (RemoteDictionaryServer) é um armazenamento de valores-chave na memória usado como base de dados, cache e mensagens. É uma base de dados sem SQL, o que significa que não usa estruturas como tabelas, linhas ou colunas, e não usa instruções como SELECT, ʻINSERT, ʻUPDATE ouDELETE. Em vez disso, usa estruturas de dados como strings, listas, conjuntos, conjuntos ordenados, hashes, bitmaps entre outros para armazenar dados. Como o Redis é uma base de dados em memória (com opções de persistência disponíveis), também é muito rápido e, portanto, ideal para armazenamento em cache, fluxos em tempo real ou trabalhos em pilha.

  • O 'request lifecycle' descreve o que acontece quando um pedido (seja via HTTP ou na consola) chega ao Laravel e gera uma resposta, que é devolvida ao utilizador.\n\nCada pedido entra na aplicação através de public/index.php, onde o Laravel é inicializado e o pedido é convertido num objeto Request. Este objeto é passado para o kernel e, em seguida, para o roteador, que o passa para o controlador ou encerramento de rota correspondente na aplicação. Essas rotas atuarão no pedido e devolverão uma resposta, que será enviado ao utilizdor.

  • Laravel Scout é um pacote de pesquisa de texto completo que usa um driver Algolia sob o capô. No entanto, é possível escrever um driver personalizado e extender o Scout com uma implementação de pesquisa própria, o que torna o Laravel Scout uma ótima solução para qualquer necessidade relacionada à pesquisa de texto.

  • O Service Container do Laravel, também conhecido como Inversion Of Control (IOC) container, Application container ou Dependency Injection (DI), gere as dependências de classes e executa a injeção de dependências. Existe uma dependência sempre que uma classe usa (ou depende de) outra classe ou interface e não pode executar o seu código sem eles. O Service Container gere essas dependências e garante que tudo funciona conforme esperado.

  • Os 'Service Providers' são o coração de cada aplicação Laravel. Estas classes PHP contêm e organizam o código relevante no qual a estrutura (e dependências) se autoinicializam. Isto inclui 'binding classes', 'event listeners' e registro de tudo o que o Laravel usa em vários sistemas como 'middleware' e rotas. Os 'service providers' são executados no início de cada pedido; quando a aplicação arranca, o Laravel executa cada lista de 'service providers' em ʻapp/config/app.php`. O Laravel vem com 'service providers' básicos, mas os programadores também podem construir os seus próprios.

  • Laravel Socialite é um pacote que facilita a configuração e o uso da autenticação OAuth numa aplicação Laravel.

  • Spark é um scaffolding de aplicação como serviço (SaaS). O uso do Spark na sua aplicação facilita a configuração de muitos recursos comuns de aplicações web, como assinaturas, faturas, cobranças, alterego de utilizadores e muitos outros.

  • Laravel Telescope é um pacote assistente de depuração que permite depurar e monitorar vários aspectos da aplicação Laravel, como exceções, notificações, tarefas agendadas, exportação de variáveis entre outros.

  • Tinker é uma ferramenta interativa REPL (Read, Evaluate, Print, Loop) que está incluída em todas as instalações do Laravel. Como o IRB do Ruby, o Tinker permite que os programadores interajam com a sua aplicação Laravel e vejam o resultado imediato das suas instruções.

  • Vagrant é um programa usado para gerir e padronizar ambientes de desenvolvimento. É uma camada de configuração baseada em Ruby que facilita o provisionamento e o controlo de virtualizadores (VMWare, Parallels, HyperV, etc.) com scripts de configuração simples.

  • O Valet é um ambiente minimalista de desenvolvimento Laravel para Mac. Usando o Homebrew e um conjunto de algumas aplicações, ele serve projetos Laravel (mas também WordPress, Statamic e outros) sem necessitar praticamente de nenhuma qconfiguração da sua parte.

  • Laravel Vapor é uma plataforma de implantação sem servidor com escalonamento automático, desenvolvida especificamente para Laravel, com tecnologia da AWS Lambda.

  • VueJS é uma estrutura progressiva de frontend JavaScript para criar interfaces de utilizador, a camada view da aplicação. A sua simplicidade de uso e uma curva de aprendizem facil significa que o Vue é uma escolha popular ao escolher uma framework front-end, tanto que o Laravel fornece uma maneira fácil de instalar e configurar o Vue dentro da aplicação Laravel executando php artisan ui vue ou php artisan ui vue --auth.