Desenvolvendo com Laravel

Um framework para a construção de aplicativos PHP modernos

Desenvolvendo com Laravel Esgotado
× Desenvolvendo com Laravel

Desenvolvendo com Laravel

VER AMOSTRA

Autor:

ISBN impresso: 978-85-7522-567-7
ISBN ebook: 978-85-7522-771-8
Ano: 2017
Páginas: 480
Preço: R$ 115,00

15 opiniões | Opine sobre este livro

Descrição do livro

O que diferencia o Laravel de outros frameworks PHP? Para começar, velocidade e simplicidade. Este framework veloz de desenvolvimento de aplicativos e seu vasto ecossistema de ferramentas permitem construir rapidamente novos sites e aplicativos com código limpo e legível. Com este guia prático, Matt Stauffer – um dos principais mentores e desenvolvedores da comunidade Laravel – fornece a introdução definitiva a um dos frameworks web mais populares da atualidade.

A visão geral de alto nível e os exemplos concretos do livro ajudarão desenvolvedores PHP experientes a começar a usar o Laravel imediatamente. Quando você chegar à última página, se sentirá à vontade para criar um aplicativo inteiro no Laravel a partir do zero.

Vários recursos do framework são apresentados, entre eles:

  • Blade, a ferramenta poderosa e personalizada do Laravel para a manipulação de templates

  • Ferramentas para a coleta, validação, normalização e filtragem de dados fornecidos pelo usuário

  • O ORM Eloquent do Laravel para o trabalho com os bancos de dados do aplicativo

  • O objeto de solicitação Illuminate e seu papel no ciclo de vida do aplicativo

  • PHPUnit, Mockery e PHPSpec para o teste de seu código PHP

  • Ferramentas do Laravel para a criação de APIs JSON e RESTful

  • Interfaces para acesso ao sistema de arquivos, sessões, cookies, caches e busca

  • Ferramentas para a implementação de filas, jobs, eventos e publicação de eventos por WebSockets

  • Pacotes especializados do Laravel: Scout, Passport, Cashier, Echo, Elixir, Valet e Socialite

(*) O livro foi escrito para o Laravel 5.3, mas já que o Laravel é a última versão TLS, qualquer recurso que for uma novidades das versões 5.2 ou 5.3 será identificado.Ver menos ▲

Sumário

Sumário

  • Prefácio
  • capítulo 1 Por que usar o Laravel?
  • Por que usar um framework?
    • “Vou construir por conta própria”
    • Consistência e flexibilidade
  • Breve história dos frameworks web e PHP
    • Ruby on Rails
    • Advento dos frameworks PHP
    • Vantagens e desvantagens do CodeIgniter
    • Laravel 1, 2 e 3
    • Laravel 4
    • Laravel 5
  • O que há de tão especial no Laravel?
    • A filosofia do Laravel
    • Como o Laravel deixa o desenvolvedor feliz
    • A comunidade Laravel
  • Como funciona
  • Por que usar o Laravel?
  • capítulo 2 Definindo um ambiente de desenvolvimento Laravel
  • Requisitos do sistema
  • Composer
  • Ambientes de desenvolvimento locais
    • Laravel Valet
    • Laravel Homestead
  • Criando um novo projeto Laravel
    • Instalando o Laravel com a ferramenta instaladora
    • Instalando o Laravel com o recurso create-project do Composer
  • Estrutura de diretórios do Laravel
    • Pastas
    • Arquivos soltos
  • Configuração
  • Instalado e em execução
  • Testando
  • TL;DR
  • capítulo 3 Roteamento e controladores
  • Definições de rotas
    • Verbos de rota
    • Manipulação de rotas
    • Parâmetros de rota
    • Nomes de rota
  • Grupos de rotas
    • Middleware
    • Prefixos de caminho
    • Roteamento de subdomínio
    • Prefixos de namespace
    • Prefixos de nome
  • Views
    • Usando view composers para compartilhar variáveis com cada view
  • Controladores
    • Obtendo entradas do usuário
    • Injetando dependências em controladores
    • Controladores de recursos
  • Vinculação rota modelo
    • Vinculação rota modelo implícita
    • Vinculação rota modelo personalizada
  • Cache de rotas
  • Spoofing de método de formulário
    • Introdução aos verbos HTTP
    • Verbos HTTP no Laravel
    • Spoofing de método HTTP em formulários HTML
  • Proteção contra CSRF
  • Redirecionamentos
    • redirect()->to()
    • redirect()->route()
    • redirect()->back()
    • Outros métodos de redirecionamento
    • redirect()->with()
  • Abortando a solicitação
  • Respostas personalizadas
    • response()->make()
    • response()->json() e ->jsonp()
    • response()->download() e ->file()
  • Testando
  • TL;DR
  • capítulo 4 Templates do Blade
  • Ecoando dados
  • Estruturas de controle
    • Condicionais
    • Loops
    • or
  • Herança de templates
    • Definindo seções com @section/@show e @yield
    • @parent
    • @include
    • @each
  • View composers e injeção de serviços
    • Vinculando dados a views usando view composers
    • Injeção de serviços do Blade
  • Diretivas personalizadas do Blade
    • Parâmetros em diretivas personalizadas do Blade
    • Exemplo: Usando diretivas personalizadas do Blade para aplicativo multitenant
  • Testando
  • TL;DR
  • capítulo 5 Componentes frontend
  • Elixir
    • Estrutura de pastas do Elixir
    • Executando o Elixir
    • O que o Elixir fornece?
  • Paginação
    • Paginando resultados do banco de dados
    • Criando paginadores manualmente
  • Message bags
    • Error bags nomeadas
  • Helpers de string, pluralização e localização
    • Helpers de string e pluralização
    • Localização
  • Testando
    • Testando com o Elixir
    • Testando message e error bags
    • Tradução e localização
  • TL;DR
  • capítulo 6 Coletando e manipulando dados do usuário
  • Injetando um objeto Request
    • $request->all()
    • $request->except() e $request->only()
    • $request->has() e $request->exists()
    • $request->input()
    • Entrada de array
    • Entrada JSON (e $request->json())
  • Dados de rota
    • A partir de Request
    • A partir de parâmetros de rota
  • Uploads de arquivos
  • Validação
    • validate() no controlador com o uso de ValidatesRequests
    • Validação manual
    • Exibindo mensagens de erro da validação
  • Form requests
    • Criando uma form request
    • Usando uma form request
  • Atribuição em massa no modelo do Eloquent
  • {{ versus {!!
  • Testando
  • TL;DR
  • capítulo 7 Artisan e Tinker
  • Introdução ao Artisan
  • Comandos básicos do Artisan
    • Opções
    • Comandos agrupados
  • Criando comandos personalizados do Artisan
    • Registrando comandos
    • Exemplo de comando
    • Argumentos e opções
    • Usando entradas
    • Prompts
    • Saída
    • Saída na forma de tabela
  • Chamando comandos do Artisan em código comum
  • Tinker
  • Testando
  • TL;DR
  • capítulo 8 Bancos de dados e o Eloquent
  • Configuração
    • Conexões de banco de dados
    • Outras opções de configuração de banco de dados
  • Migrações
    • Definindo migrações
    • Executando migrações
  • Seeding
    • Criando um seeder
    • Model factories
  • Construtor de consultas
    • Uso básico do facade DB
    • SQL bruto
    • Criando encadeamentos com o construtor de consultas
    • Transações
  • Introdução ao Eloquent
    • Criando e definindo modelos do Eloquent
    • Recuperando dados com o Eloquent
    • Inserções e atualizações com o Eloquent
    • Excluindo com o Eloquent
    • Escopos
    • Coleções do Eloquent
    • Serialização no Eloquent
    • Relacionamentos do Eloquent
    • Registros-filho atualizando timestamps de registros-pai
  • Eventos do Eloquent
  • Testando
  • TL;DR
  • capítulo 9 Autenticação e autorização de usuários
  • Modelo e migração de usuários
  • Usando o helper global auth() e o facade Auth
  • Controladores de autenticação
    • RegisterController
    • LoginController
    • ResetPasswordController
    • ForgotPasswordController
  • Auth::routes()
  • O scaffold de autenticação
  • “Lembre-se de mim”
  • Autenticando usuários manualmente
  • Middlewares de autenticação
  • Guards
    • Alterando o guard-padrão
    • Usando outros guards sem alterar o padrão
    • Adicionando um novo guard
    • Criando um provedor de usuário personalizado
    • Provedores de usuários personalizados para bancos de dados não relacionais
  • Eventos de autenticação
  • Autorização (ACL) e roles
    • Definindo regras de autorização
    • O facade Gate (e a injeção de Gate)
    • O middleware Authorize
    • Autorização de controlador
    • Fazendo a verificação em uma instância de User
    • Verificações do Blade
    • Interceptando verificações
    • Políticas
  • Testando
  • TL;DR
  • capítulo 10 Solicitações e respostas
  • Ciclo de vida das solicitações no Laravel
    • Inicializando o aplicativo
    • Provedores de serviços
  • Objeto Request
    • Obtendo um objeto Request no Laravel
    • Obtendo informações básicas sobre uma solicitação
    • Persistência
  • Objeto Reponse
    • Usando e criando objetos de resposta em controladores
    • Tipos de resposta especializados
  • Laravel e o Middleware
    • Introdução ao middleware
    • Criando middleware personalizado
    • Vinculando middlewares
    • Passando parâmetros para o middleware
  • Testando
  • TL;DR
  • capítulo 11 O contêiner
  • Breve introdução à injeção de dependências
  • A injeção de dependências e o Laravel
  • O helper global app()
  • Como o contêiner faz a dedução
  • Vinculando classes ao contêiner
    • Vinculando a um closure
    • Vinculando a singletons, aliases e instâncias
    • Vinculando uma instância concreta a uma interface
    • Vinculação contextual
  • Injeção por construtor
  • Injeção por método
  • Facades e o contêiner
    • Como os facades funcionam
  • Provedores de serviços
  • Testando
  • TL;DR
  • capítulo 12 Testando
  • Aspectos básicos dos testes
  • Testes de nomenclatura
  • Ambiente de teste
  • Traits de teste
    • WithoutMiddleware
    • DatabaseMigrations
    • DatabaseTransactions
  • Teste de aplicativo
    • TestCase
    • “Visitando” rotas
    • Asserções personalizadas para testes de aplicativo
    • Asserções JSON e não referentes a visit() para testes de aplicativo
    • Cliques e formulários
    • Jobs e eventos
    • Autenticação e sessões
  • Artisan e seed
  • Mocking
    • Mockery
    • Simulando facades
  • TL;DR
  • capítulo 13 Criando APIs
  • Aspectos básicos das APIs JSON REST-like
  • Organização dos controladores e retornos em JSON
  • Lendo e enviando cabeçalhos
    • Enviando cabeçalhos de resposta no Laravel
    • Lendo cabeçalhos de resposta no Laravel
  • Paginação do Eloquent
  • Classificando e filtrando
    • Classificando os resultados de suas APIs
    • Filtrando os resultados de sua API
  • Transformando resultados
    • Criando seu próprio transformador
  • Aninhamento e relacionamentos
  • Autenticação de API com o Laravel Passport
    • Breve introdução ao OAuth 2.0
    • Instalando o Passport
    • API do Passport
    • Tipos de concessão disponíveis no Passport
    • Gerenciando clientes e tokens com a API do Passport e os componentes Vue
    • Escopos do Passport
  • Autenticação de API por token no Laravel 5.2+
  • Testando
  • TL;DR
  • capítulo 14 Armazenamento e recuperação
  • Gerenciadores de arquivos locais e na nuvem
    • Configurando o acesso a arquivos
    • Usando o facade Storage
    • Adicionando provedores do Flysystem
  • Uploads e manipulação comum de arquivos
  • Sessões
    • Acessando a sessão
    • Métodos disponíveis nas instâncias da sessão
    • Armazenamento de sessão flash
  • Cache
    • Acessando o cache
    • Métodos disponíveis em instâncias do cache
  • Cookies
    • Cookies no Laravel
    • Acessando as ferramentas de cookies
  • Busca por texto completo com o Laravel Scout
    • Instalando o Scout
    • Marcando seu modelo para indexação
    • Pesquisando seu índice
    • Filas e o Scout
    • Executando operações sem indexar
    • Acionando a indexação manualmente por meio de código
    • Acionando a indexação manualmente por intermédio da CLI
  • Testando
    • Armazenamento de arquivos
    • Sessão
    • Cache
    • Cookies
  • TL;DR
  • capítulo 15 Email e notificações
  • Email
    • Email “Clássico”
    • Uso básico de email “mailable”
    • Templates de email
    • Métodos disponíveis em build()
    • Anexos e imagens inline
    • Filas
    • Desenvolvimento local
  • Notificações
    • Definindo o método via() de seus notificáveis
    • Enviando notificações
    • Enfileirando notificações
    • Tipos de notificação prontos para uso
  • Testando
    • Email
    • Notificações
  • TL;DR
  • capítulo 16 Filas, jobs, eventos, broadcasting e o agendador
  • Filas
    • Por que usar filas?
    • Configuração de fila básica
    • Jobs enfileirados
    • Executando um worker de fila
    • Manipulando erros
    • Controlando a fila
    • Filas dando suporte a outras funções
  • Eventos
    • Acionando um evento
    • Escutando um evento
  • Broadcast de eventos por WebSockets e o Laravel Echo
    • Configuração e preparação
    • Broadcast de um evento
    • Recebendo a mensagem
    • Ferramentas de broadcast avançadas
    • Laravel Echo (o lado JavaScript)
  • Agendador
    • Tipos de tarefa disponíveis
    • Intervalos de tempo disponíveis
    • Bloqueio e sobreposição
    • Manipulando saídas das tarefas
    • Hooks de tarefas
  • Testando
  • TL;DR
  • capítulo 17 Helpers e coleções
  • Helpers
    • Arrays
    • Strings
    • Caminhos do aplicativo
    • URLs
    • Miscelânea
  • Coleções
    • Aspectos básicos das coleções
    • Alguns métodos
  • TL;DR
  • Glossário
  • Sobre o autor
  • Colofão
Ver sumário completo ▼

Opinião dos leitores

Jasiel P P

O livro fornece boas explicações e dicas sobre os comandos do Laravel e sua estrutura. O Laravel atualmente está na versão 8 e o autor aborda minuciosamente o Laravel 5, por isso, muito do que é apresentado no livro ainda pode ser aproveitado na nova versão. O livro é com certeza uma excelente fonte de referência para quem quer aprender muito bem os conceitos sobre o Laravel e aplicar esse conhecimento na prática. Se já conhece ou trabalha com PHP e quer avançar os estudos com um Framework estável e com muitos recursos, o Laravel com toda certeza vai superar suas expectativas.

Sérgio B d S

Muito explicativo, claro e direto em suas abordagens.

Danilo F de P e S

Excelente! Ótimo texto. Bem fluido. O autor é simples e direto. Consegue passar bem a filosofia Laravel. Mostra pelo menos 3 maneiras de fazer algo com o Framework e nos ajuda a ver os prós e contras. Existem alguns pequenos erros de tradução, mas não comprometem o entendimento. Estou super feliz com o livro. Vale muito a pena comprar.

Thyago B

O livro é ótimo, o autor domina o assunto, mas pra iniciante achei meio confuso, principalmente pra quem nunca viu Laravel e acha que vai aprender pelo livro, tem que dar uma boa pesquisada pela net antes de começar a ler.

Ver todas ▼