Symfony 5 na Prática

Certificado de Conclusão
Total de Aulas: 198
Total em horas: 24:45:26

Pré-requisitos

  • Conhecer PHP em sua base e com Orientação a Objetos
  • Entender Namespaces e autoload dentro do PHP
  • Saber trabalhar com Composer



Sobre o Curso

Neste curso terei a mesma pegada de ensino aplicada nos cursos anteriores, a mesma pegada prática, aplicando os conhecimentos diretamente na construção do projeto mas trarei diferenciais.

Primeiro

Tomarei este curso como único curso sobre o framework daqui em diante na plataforma, ou seja, além de tópicos básicos e intermediários aplicados nas versões anteriores trarei assuntos mais avançados do framework bem como a parte de API REST será aplicada ao projeto como forma de incremento matendo apenas um curso daqui pra frente.
Com isso viso simplificar futuras migrações e atualizações que o próprio framework vier a ter.

Segundo

Usarei também o VueJS para compor o frontend do nosso projeto e será um complemento interessante a este projeto. Quero tornar os projetos dos meus cursos algo que realmente sirva pro mundo real, algo que possa ser facilmente incrementado e usado no dia dia até para você se monetizar vendendo os mesmos caso queira.

E por fim

Adquirindo o curso, você terá acesso ao curso e suas atualizações de forma vitalícia além de sempre ter um desconto em outros cursos de Symfony que eu lançar em outras áreas como Symfony com GraphQL ou Symfony com Ionic por exemplo.

Sobre o curso de fato

Neste curso abordaremos os seguintes temas:

  • Básico do framework: Estrutura, rotas, controllers, filosofia advinda da v4
  • Banco de dados: Doctrine, mapeamento, migrations, entidades e muito mais;
  • Serviços e configurações dentro do framework;
  • Envio de e-mails;
  • Gerenciamento de assets frontend e integração com VueJS;
  • Upload de imagens;
  • Autenticação e autorização e formas de customização;
  • Forms e customizações;
  • I18n;
  • Internos do framework como forma de conhecer mais a fundo o framework e ter um entendimento do porque das coisas.

O projeto do curso como um todo será a construção incremental de uma Loja Virtual com gerenciamento de produtos, carrinho de compras, calculo de frete, cupons de desconto, gerenciamento de estoque dos produtos e muito mais. 
O incremental no projeto se dá pelo fato de irmos, a cada conhecimento adquirido, melhorando nosso projeto com tais conhecimento, como faço, de certa forma, nos projetos da versões anteriores dos cursos de Symfony.

Jornada Percorrida ao Objetivo


  • 1 - Boas Vindas 0:00:34
  • 2 - Quem sou eu? 0:03:09
  • 3 - Sobre a plataforma 0:04:27
  • 4 - O PHPStorm 0:05:04
  • 5 - O Symfony, requerimentos 0:03:13
  • 6 - Symfony Installer MacOS 0:04:14
  • 7 - Symfony Installer Linux 0:06:05
  • 8 - Symfony Installer no Windows 0:07:05
  • 9 - Iniciando Projeto 0:02:03
  • 10 - O Symfony 0:05:33
  • 11 - Primeiro Contato 0:05:00
  • 12 - Arquivos de Configuração 0:04:55
  • 13 - O Symfony Flex 0:07:16
  • 14 - Symfony Maker Bundle 0:07:49
  • 15 - Usando Templates 0:07:23
  • 16 - Parâmetros para Views 0:07:48
  • 17 - Debug Pack 0:08:25
  • 18 - Gerenciando Assets Pt1 0:07:23
  • 19 - Gerenciando Assets Pt2 0:04:25
  • 20 - Conclusões 0:01:24
  • 21 - Instalando ORM 0:02:47
  • 22 - O Doctrine 0:04:11
  • 23 - Criando Banco de Dados 0:07:17
  • 24 - Primeiros Passos com Entidades 0:13:31
  • 25 - Executando Migrations 0:12:31
  • 26 - Inserindo Produtos 0:08:51
  • 27 - Atualizando Produtos 0:04:27
  • 28 - Removendo Produtos 0:02:01
  • 29 - Queries para Produtos 0:11:21
  • 30 - Organizando CRUD Pt1 0:08:14
  • 31 - Organizando CRUD Pt2 0:05:22
  • 32 - Conclusões 0:01:36
  • 33 - Introdução 0:00:51
  • 34 - O Twig 0:03:59
  • 35 - Twig Filtros & Loop 0:12:52
  • 36 - Tela de Criação de Produto 0:11:02
  • 37 - Processando Dados Form 0:05:58
  • 38 - Editando Produtos 0:07:27
  • 39 - Gerando Links por Apelidos 0:04:57
  • 40 - Removendo Produtos 0:02:42
  • 41 - Melhorando Interface Admin 0:04:00
  • 42 - Mensagens Usuário 0:11:12
  • 43 - Conclusões 0:01:48
  • 44 - Introdução 0:00:25
  • 45 - Entidades User e Endereço 0:08:51
  • 46 - Relação 1 para 1 0:10:40
  • 47 - Salvando 1 para 1 0:10:31
  • 48 - Recuperando Relações 1 para 1 0:08:06
  • 49 - Gerando 1 para 1 via Console 0:06:50
  • 50 - 1:1 Bidirecional via Console 0:07:50
  • 51 - Testando Inserções 1:1 0:06:08
  • 52 - Mapeando Muitos pra 1 0:11:36
  • 53 - Salvando Muitos pra 1 0:14:00
  • 54 - Gerando Muitos pra 1 via Console 0:12:41
  • 55 - Conclusões 0:02:51
  • 56 - Intro e Entidade Categoria 0:03:37
  • 57 - Mapeando N:N 0:05:47
  • 58 - Salvando N:N 0:10:40
  • 59 - Recuperando N:N 0:04:07
  • 60 - Gerando N:N via Console 0:06:24
  • 61 - Orphan Removal 0:05:47
  • 62 - Conclusões 0:01:40
  • 63 - Introdução e Instalação 0:01:37
  • 64 - ProductType e Exibindo Form 0:12:17
  • 65 - Processando Formulário 0:06:47
  • 66 - Salvando Dados do Form 0:06:57
  • 67 - Sf Form na Edição 0:05:38
  • 68 - Template Bootstrap no Form 0:02:22
  • 69 - Mais Detalhes Sobre Forms 0:03:09
  • 70 - Conclusões 0:01:20
  • 71 - Intro e Validator 0:01:39
  • 72 - Usando Validação 0:05:20
  • 73 - Sobre Validadores 0:08:15
  • 74 - Configurações FormType 0:13:06
  • 75 - Pontos do Nosso Input de Preço 0:02:27
  • 76 - Centralizando View Form 0:03:52
  • 77 - Customizações View Form 0:09:30
  • 78 - Customizações View Form 2 0:06:07
  • 79 - Conclusões 0:10:37
  • 80 - Introdução 0:01:26
  • 81 - O que são serviços 0:03:08
  • 82 - O arquivo services.yaml 0:06:20
  • 83 - Melhorias Controller Produtos 0:07:53
  • 84 - Criando Nosso Serviço 0:07:46
  • 85 - Visibilidade de Serviços 0:07:29
  • 86 - Apelido para Serviços 0:04:29
  • 87 - Parâmetros 0:10:40
  • 88 - Parâmetros Tipados 0:11:36
  • 89 - Conclusões 0:07:05
  • 90 - Introdução 0:01:35
  • 91 - Iniciando Upload 0:07:29
  • 92 - O UploadedFile 0:05:12
  • 93 - Realizando Upload 0:08:55
  • 94 - Nosso Serviço de Upload 0:09:29
  • 95 - Criando ProductPhoto 0:06:18
  • 96 - Upload no Form de Produto 0:07:07
  • 97 - Upload e Save de Referência na Base 0:11:50
  • 98 - Upload na Edição de Produto 0:07:08
  • 99 - Exibindo Fotos na Edição de Produto 0:07:23
  • 100 - Removendo Imagens 0:12:25
  • 101 - Conclusões 0:03:04
  • 102 - Intro Doctrine Extensions 0:05:26
  • 103 - Dinamizando Slugs 0:06:58
  • 104 - Dinamizando Datas de Registro 0:11:13
  • 105 -Manipulando Preço 0:11:48
  • 106 - Input MaskMoney 0:06:14
  • 107 - CRUD de Categorias 0:16:09
  • 108 - Melhorias Gerais Produto 0:05:15
  • 109 - Validando Imagens Produto 0:06:27
  • 110 - Conclusões 0:01:19
  • 111 - Intro & Sf Security 0:01:33
  • 112 - Entidade User para Auth 0:07:31
  • 113 - Security Yaml 0:05:25
  • 114 - Realizando Autenticação 0:07:08
  • 115 - Encode de Senha 0:07:22
  • 116 - Bloqueando Acesso ao Admin 0:11:59
  • 117 - Correção View Base 0:06:38
  • 118 - Granularidade ACL 0:10:00
  • 119 - Usando o Lembrar de Mim 0:07:23
  • 120 - Controle de Acesso nas Views 0:06:36
  • 121 - Mais sobre papéis 0:07:35
  • 122 - CRUD de Usuários 0:15:43
  • 123 - Conclusões 0:08:28
  • 124 - Introdução 0:03:53
  • 125 - Trabalhando Controller Home e Single 0:06:16
  • 126 - View Front Loja 0:08:24
  • 127 - View Single Produto 0:09:34
  • 128 - Melhorias Front Loja 0:09:50
  • 129 - Produtos por Categorias 0:09:39
  • 130 - Paginando Dados 0:11:20
  • 131 - Busca de Produtos 0:12:54
  • 132 - Menu Ativo & Concluindo 0:07:59
  • 133 - Introdução 0:00:48
  • 134 - Iniciando Serviço do Carrinho 0:07:39
  • 135 - Testando CartService 0:05:42
  • 136 - Removendo Itens e Validando Lógica 0:09:41
  • 137 - Tela Carrinho 0:08:14
  • 138 - Adicionando Item via View 0:07:07
  • 139 - Manipulando Produto Carrinho 0:09:19
  • 140 - Melhorias Tela Carrinho 0:09:24
  • 141 - Iniciando Processo de Checkout 0:08:56
  • 142 - Tomando Controle da Autenticação 0:11:29
  • 143 - Incrementando Nosso Guard 0:15:40
  • 144 - Registrando Usuário 0:12:52
  • 145 - Autenticando Usuário Pós-cadastro 0:03:42
  • 146 - Tela de Checkout e Mais Detalhes 0:13:24
  • 147 - Acréscimos Authenticator 0:08:32
  • 148 - Removendo Duplicidade de Itens Carrinho 0:06:42
  • 149 - Tela de Obrigado e Mensagens 0:07:18
  • 150 - Conclusões 0:01:19
  • 151 - Introdução 0:04:12
  • 152 - Recursos & Enpoints 0:08:20
  • 153 - Primeiros Endpoints 0:08:16
  • 154 - Serializer Groups 0:07:53
  • 155 - Atualizando Senha do Usuário 0:14:27
  • 156 - Atualizando Perfil do Usuário 0:07:47
  • 157 - Recuperando Perfil & Endereço 0:05:07
  • 158 - Validação FORM na API REST 0:12:11
  • 159 - Conclusões 0:01:54
  • 160 - Conhecendo o JWT 0:17:56
  • 161 - Criando Primeiro JWT 0:16:15
  • 162 - Como Usar o JWT? 0:14:45
  • 163 - Introdução 0:02:39
  • 164 - Authenticators API 0:10:25
  • 165 - Gerando JWT 0:05:55
  • 166 - Usando Token 0:09:27
  • 167 - Validando Assinatura e Tempo Token 0:08:48
  • 168 - Organizando Geração do Token 0:08:39
  • 169 - Separando Firewalls API 0:11:33
  • 170 - Usuário no Escopo do Token 0:05:17
  • 171 - Conclusões 0:01:36
  • 172 - Introdução 0:02:36
  • 173 - VueJS no Projeto 0:11:27
  • 174 - Melhorando Instância Vue 0:08:58
  • 175 - Listando Produtos 0:07:15
  • 176 - Listando Produtos pt2 0:12:27
  • 177 - Listando Produtos via Ajax 0:12:08
  • 178 - Corrigindo Imagens Produtos 0:05:18
  • 179 - Melhorias 0:14:57
  • 180 - Conclusões 0:02:59
  • 181 - Introdução 0:06:31
  • 182 - Iniciando Projeto Vue 0:05:52
  • 183 - Conhecendo o Projeto 0:13:24
  • 184 - Primeiros Contatos com o Projeto 0:12:59
  • 185 - CORS API Symfony 0:08:05
  • 186 - Corrigindo Requisição Minha Conta 0:12:39
  • 187 - Iniciando Tela de Pedidos 0:11:46
  • 188 - Adicionando Acordion Pedido 0:10:46
  • 189 - Iniciando Tela Perfil 0:10:32
  • 190 - Atualizando Perfil 0:11:08
  • 191 - Reparos Painel 0:05:04
  • 192 - Autenticação 0:13:32
  • 193 - Controlando Acesso ao Paínel 0:10:50
  • 194 - Handler Global de Autorização Paínel 0:08:18
  • 195 - Logout e Melhorias Login 0:10:35
  • 196 - Handler e Mensagens de Erro 0:14:46
  • 197 - Exibindo Username User 0:06:02
  • 198 - Conclusões 0:01:53

Terei suporte?

Grupo Discord Alunos Mastery

Grupo Exclusivo
no Discord


Beleza mas Quem É Você, Nanderson?

Nanderson Castro, professor do curso Symfony 5 na Prática

Me chamo Nanderson Castro e atuo a mais de dez anos no mercado de desenvolvimento Web com PHP, e sou especializado na criação de aplicações para Web usando os principais frameworks do mercado, ou melhor, os dois mais expoentes frameworks do mercado PHP: Symfony e Laravel.

Sou também, Zend Certified PHP Engineer desde 2015, uma certificação que atesta os conhecimentos na linguagem PHP e certificação esta, com reconhecimento mundial.

Hoje atuo como instrutor da Code Experts, uma Escola Online com Foco em Prática, onde levamos pessoas aspirantes no mundo Web ao domínio das ferramentas com foco na mudança de vida deste aluno em suas metas alcançadas com os conhecimentos agregados. Hoje são mais de 20 mil alunos que estudam conosco em nossa plataforma e em plataforma de terceiros como a Udemy, onde temos um bom nível de indicações e satisfação por parte de nossos alunos.