PHP Mastery
O curso PHP Mastery vai tornar você um desenvolvedor profissional com o que é necessário para criar aplicações Web usando todo o poder da Linguagem PHP. O PHP é uma linguagem largamente utilizada na Web estando em pelo menos 80% dos servidores da atualidade e tendo diversos frameworks que são largamente utilizados no mundo Web.
No curso PHP Mastery iremos trabalhar com 4 pilares base, sendo eles: Alicerces, Estrutura, Arremates & Boas Práticas.
Não quero comparar o desenvolvimento de software PHP com a construção de uma casa ou qualquer coisa do tipo, mas acredito que usando estes pilares conseguiremos te dar uma noção de como o curso irá seguir.
Alicerces
Todo conhecimento deve ter seu início, então aqui no PHP não seria diferente. As bases são essenciais para que possamos construir um conhecimento sólido e bem fortificado, de forma a termos estruturas sólidas, coesas e bem estruturadas.
Neste bloco iremos conhecer os fundamentos do PHP desde sua instalação a estrutura inicial, como: paradigmas, tipos, variáveis, constantes, estruturas de controles(condicionais, repetição), funções, formulários e php, trabalho com banco de dados, validações e a api de filtros do PHP, manipulação de arquivos.
Além de praticarmos construindo um pequeno controle de estoque usando o paradigma estruturado para termos nossa primeira noção de montar uma estrutura de aplicação inicial com PHP.
Estrutura
No bloco estrutura iremos mudar um pouco a chave e ir para o paradigma mais utilizado hoje em dia, que é a Orientação a Objetos(OO). Neste bloco iremos entender todas as nuances e pilares da OO e entender como o PHP implementa cada conceito deste paradigma e o que é incluso na linguagem referente a Orientação a Objetos.
Entenderemos neste bloco o que são Classes, Objetos, Visibilidade, Encapsulamento, Polimorfismo, Classes Abstratas, Interfaces, Classes Anônimas, Classes Final, Sobrescrita de métodos, Métodos Mágicos, Traits e novidades PHP 8 para OO.
Entenderemos também o mundo PHP hoje em dia como o uso dos padrões de comunidade, as famosas PSRs (PHP Standard Recommendations), o uso de autoload dentro do PHP e o uso do Autoload proposto pela PSR-4.
Arremates & Boas Práticas
Em arremates, se você pensar em construção são os detalhes finais mas os mais complicadinhos, trazendo este pensamento, quero colocar aqui pontos que nos levarão para práticas mais avançadas dentro de orientação a Objetos.
Daremos início aqui a toda a montagem da estrutura Orientada a Objetos da nossa aplicação usando nesta estrutura o pensamento MVC, onde organizaremos nossos participantes do projeto em: Controllers,
Camada de View e a camada de Modelos deixando nossa estrutura mais organizada e profissional.
Já que aqui darei início a este pensamento de organização e estrutura abordarei neste bloco os
Padrões de Projeto mais usuais de cada grupo, também, sendo estes grupos: Estruturais, de Comportamento e Criacionais.
O meu intuito é que você tenha assets necessários para pensar em estrutura e organização de códigos de forma mais profissional e saiba onde cada coisa deve ficar e como estruturar e separar determinados comportamentos dentro de sua aplicação PHP Orientada a Objetos.
Falarei também, aqui neste bloco, sobre as práticas propostas por Objetos Calisthenics.
Por fim, iremos abordar o uso de Testes de Software em nossas aplicações PHP, trazendo toda a introdução a testes Unitários e Integração onde entenderemos como os testes podem nos trazer mais confiabilidade e consistência em nossas aplicações PHP.
Conheceremos também as boas práticas do uso de Clean Code e Clean Architecture para aplicarmos esses conceitos e pensamentos em nosso projeto final do curso.
O Projeto Final
Não quero te encher de projetos mas sim por meio de um projeto consolidar todos os conhecimentos trazidos até aqui, criando toda a estrutura de nossa aplicação pensada em orientação a objetos, usando os testes para criar códigos mais coesos e concisos além de organizarmos melhor determinados pontos de nossa aplicação com padrões de projeto.O projeto proposto aqui neste curso será um sistema imobiliário com organização multi-tenancy onde teremos diversos inquilinos construindo seus próprios catálogos de imóveis com as funcionalidades disponibilizadas no projeto. Eu quero dar o poder ao cliente de criar seu próprio portal de imóveis.
Quero construir nossos projeto com camadas bem separadas então aqui neste bloco de projeto irei introduzir os conceitos de APIs/WebServices onde criaremos todo o projeto apificado e consumiremos esta API com um projeto construído em VueJS, ou seja, o backend, sendo API REST PHP e o cliente será construido com VueJS.
Assuntos Abordados no Curso em Geral:
- Sintaxe inicial PHP;
- Tipos;
- Abordagem mais detalhada sobre arrays;
- Estruturas de Controle;
- Funções;
- PHP e HTML;
- Trabalhando com Formulários;
- Banco de Dados;
- Manipulação de Arquivos;
- Paradigma Procedural em uma estrutura;
- Orientação a Objetos: Conceitos Base;
- PHP Traits, Classes Anônimas, Promoção de Parâmetros Contrutor, Métodos Mágicos;
- Autoload + PSRs + Composer;
- Principais Padrões de Projeto nas categorias: Criacional, Comportamental e Estrutural;
- Abordagem de Clean Code e Clean Architecture;
- PHP SPL;
- Dicas de Segurança;
- Testes: Unitários e Funcionais com a Filosofia TDD;
- Abordagem MVC no Projeto Final além da consolidação dos conceitos neste projeto.
- Uso do AJAX consumindo API REST;
- Utilização de um Framework Javascript Laragamente utilizado, o VueJS.
Jornada Percorrida ao Objetivo
- 1 - Bem Vindo 0:01:42
- 2 - Quem Sou Eu 0:04:27
- 3 - Sobre a Plataforma 0:05:49
- 4 - Um Pouco de História 0:07:17
- 5 - PHP: Características 0:06:10
- 6 - O Que Preciso para Programar PHP 0:05:57
- 7 - Ambientes Prontos PHP 0:04:28
- 8 - Linguagem Server Side 0:07:07
- 9 - [Windows] Instalando PHP 0:13:46
- 10 - [Windows] Instalando Composer 0:03:53
- 11 - [Windows] Instalando Editor de Código 0:11:57
- 12 - [Windows] Olá Mundo 0:14:46
- 13 - [Linux] Instalando PHP & Composer 0:10:26
- 14 - [Linux] Instalando Editor de Código 0:08:13
- 15 - [Linux] Olá Mundo 0:09:09
- 16 - [MacOS] Instalando PHP 0:15:49
- 17 - [MacOS] Instalando Editor de Código 0:07:49
- 18 - [MacOS] Olá Mundo 0:12:39
- 19 - [MacOS] Instalando Composer 0:07:23
- 20 - Introdução 0:05:26
- 21 - Comentários 0:05:49
- 22 - Valores Literais 0:03:30
- 23 - Tipos Básicos 0:06:45
- 24 - Inteiros / Ponto Flutuante 0:16:03
- 25 - Strings 0:12:22
- 26 - Funções de Manipulação de Strings 0:17:46
- 27 - Variáveis 0:05:11
- 28 - Praticando Variáveis 0:07:04
- 29 - Diferença Aspas Simples e Duplas 0:06:52
- 30 - NOWDOC & HEREDOC 0:05:51
- 31 - Case Sensitive 0:04:27
- 32 - Constantes 0:10:13
- 33 - Dinâmica e Fracamente Tipada 0:06:47
- 34 - Conclusões Módulo 0:01:22
- 35 - Introdução 0:01:13
- 36 - Operadores Aritméticos 0:08:28
- 37 - Operadores Comparação 0:16:25
- 38 - Spaceship Operator 0:04:02
- 39 - Operadores de Atribuição 0:06:51
- 40 - Operadores Lógicos 0:11:48
- 41 - Combinando Operadores Lógicos e Comparação 0:16:40
- 42 - Operador Incremento e Decremento 0:06:55
- 43 - Conclusões 0:01:19
- 44 - Introdução 0:00:48
- 45 - Algoritmos? 0:05:03
- 46 - Iniciando com Estrutrura Condicional 0:04:30
- 47 - Primeiras Estruturas Condicionais 0:07:35
- 48 - Senão Se 0:08:45
- 49 - Switch 0:06:11
- 50 - Operador Ternário 0:08:43
- 51 - Mais da Escrita do If 0:05:39
- 52 - Conclusões 0:02:26
- 53 - Introdução 0:01:09
- 54 - Arrays? 0:06:35
- 55 - Praticando Arrays 0:14:37
- 56 - Arrays Associativos 0:08:08
- 57 - Array Multi-Dimensional 0:18:29
- 58 - Funções para Arrays 0:13:57
- 59 - Operadores para Arrays 0:14:13
- 60 - Estruturas de Repetição 0:03:41
- 61 - For 0:10:39
- 62 - While 0:07:12
- 63 - Do While 0:06:01
- 64 - Foreach 0:09:03
- 65 - Iterando em Arrays MultiDimensionais 0:13:14
- 66 - Conclusões 0:02:03
- 67 - Introdução 0:01:49
- 68 - Entendendo o Módulo 0:03:21
- 69 - O que são Paradigmas 0:09:03
- 70 - Iniciando Estrutura 0:11:40
- 71 - Iniciando Navegação 0:05:27
- 72 - Recebendo Valores da URL 0:10:22
- 73 - Verificando Parâmetros da URL 0:06:47
- 74 - Inclusão de Arquivos Externos 0:12:59
- 75 - Usando Arquivo de Configuração 0:08:09
- 76 - Criando Fonte de Produtos 0:09:57
- 77 - PHP & HTML Juntos 0:14:45
- 78 - Linkando Detalhes Produto 0:11:43
- 79 - Criando Detalhe do Produto 0:12:28
- 80 - Config Link Site & Extensão PHTML 0:07:25
- 81 - Organizando Código HTML Repetido 0:06:33
- 82 - Melhorando Busca do Produto 0:10:15
- 83 - Conclusões 0:02:27
- 84 - Introdução 0:00:42
- 85 - Iniciando Formulário 0:14:04
- 86 - Incrementando Formulário 0:06:57
- 87 - Submentendo Formulário 0:10:10
- 88 - Input Number e Select 0:07:14
- 89 - Entendendo Dados Enviados Via POST 0:06:19
- 90 - Enviando Arquivos 0:07:01
- 91 - Enviando Múltiplos Arquivos 0:06:41
- 92 - Mais Sobre Inputs 0:14:07
- 93 - Conclusões 0:01:08
- 94 - Introdução 0:01:54
- 95 - BDs e SGBDs 0:04:29
- 96 - O MySQL 0:04:43
- 97 - Banco Relacional 0:05:51
- 98 - Grupos de Comandos SQL 0:06:07
- 99 - MyISAM e InnoDB 0:06:15
- 100 - Ambiente MySQL no Windows 0:09:49
- 101 - Mysql no Linux 0:11:11
- 102 - PHPMyAdmin Linux 0:11:51
- 103 - Mysql no OS X 0:12:30
- 104 - PHPMyAdmin OS X 0:13:19
- 105 - Criando Primeiro Banco 0:12:46
- 106 - Conclusões 0:01:31
- 107 - Introdução 0:00:44
- 108 - Criando Primeira Tabela 0:14:12
- 109 - SQL Inserindo e Atualizando Dados 0:11:05
- 110 - SQL Removendo Dados 0:02:52
- 111 - SQL Busca de Dados 0:14:19
- 112 - Conectando PHP e MySQL 0:09:57
- 113 - PDO Inserção 0:07:48
- 114 - PDO Atualização 0:02:22
- 115 - PDO Prepared Statements 0:13:18
- 116 - PDO Removendo Dados 0:04:25
- 117 - PDO Buscando Dados 0:11:32
- 118 - Form e Banco de Dados 0:09:38
- 119 - Conclusões 0:01:13
- 120 - Introdução 0:00:50
- 121 - Funções 0:08:32
- 122 - Parâmetros Funções 0:07:14
- 123 - Variadic Functions 0:08:46
- 124 - Escopo de Funções 0:06:53
- 125 - Funções Anônimas e Arrow Functions 0:15:29
- 126 - Iniciando Funções CRUD 0:11:05
- 127 - Função Criar Dados 0:17:03
- 128 - Função Atualizar Dados 0:11:56
- 129 - Função Remover e Testando Criar 0:14:20
- 130 - Organizando Rotas para Telas 0:07:09
- 131 - Listagem de Produtos 0:12:19
- 132 - Tela de Edição 0:13:16
- 133 - Processando Atualização 0:12:22
- 134 - Removendo Dados 0:07:57
- 135 - Conclusões 0:01:27
- 136 - Introdução 0:01:04
- 137 - O Bootstrap 5 0:10:29
- 138 - Estilizando Listagem 0:12:57
- 139 - Estilizando Forms 0:06:48
- 140 - Iniciando Upload 0:13:17
- 141 - Imagens com Nome Único 0:08:37
- 142 - Coluna Foto Produto 0:07:30
- 143 - Salvando Foto Produto 0:14:51
- 144 - Organizando Lógica Upload 0:17:30
- 145 - Função Upload no Criar 0:04:41
- 146 - Exibindo Imagem Produto 0:11:59
- 147 - Conclusões 0:02:08
- 148 - Introducão 0:01:09
- 149 - Sessions & Cookies 0:10:32
- 150 - Usando Sessões 0:12:43
- 151 - Usando Cookies 0:08:30
- 152 - Tela de Login 0:10:35
- 153 - Iniciando Processo de Login 0:06:19
- 154 - Tabela de Usuários e Usuário Teste 0:10:26
- 155 - Criando Busca com Cláusulas 0:12:48
- 156 - Regras Autenticação Usuário 0:05:07
- 157 - Utilitários Para Sessão 0:10:01
- 158 - Usuário Autenticado 0:06:06
- 159 - Controle Acesso Painel 0:06:44
- 160 - Logout 0:07:32
- 161 - Mensagens de Feedback Usuário 0:10:40
- 162 - Conclusões 0:01:25
- 163 - Introdução 0:01:23
- 164 - Falando Sobre Relacionamentos 0:05:43
- 165 - Relacionamentos Disponíveis 0:06:38
- 166 - Estratégias Dados Associados 0:07:06
- 167 - Visualizando Relacionamentos em um DER 0:10:53
- 168 - Conclusões 0:02:01
- 169 - Introdução 0:01:52
- 170 - Melhorias Funções DB 0:07:40
- 171 - Tabela Estoque e Histórico 0:12:24
- 172 - Iniciando Controle de Estoque 0:10:44
- 173 - Continuando Funções Estoque 0:06:34
- 174 - Salvando e Atualizando Estoque 0:10:42
- 175 - Salvando Histórico Estoque 0:07:59
- 176 - Removendo Itens Estoque 0:06:49
- 177 - Usando Remoção de Itens Estoque 0:05:17
- 178 - Controle Estoque no Criar Produto 0:05:59
- 179 - Usando Modal Bootstrap 0:12:16
- 180 - Pegando ID Produto com JS 0:12:58
- 181 - ID Produto no Modal 0:06:59
- 182 - Iniciando AJAX Modal 0:13:17
- 183 - Realizando Requisição AJAX 0:15:35
- 184 - AJAX Retirando Items Estoque 0:06:11
- 185 - Melhorias Chamada AJAX 0:09:39
- 186 - Exibindo Mensagens de Retorno 0:16:39
- 187 - Concluindo Estoque 0:09:50
- 188 - Queries SQL mais Complexas 0:10:55
- 189 - Exibindo Estoque Listagem Produto 0:07:46
- 190 - Tabelas Restantes e Desafio Foto 0:07:32
- 191 - Conclusões 0:02:20
Terei suporte?
Grupo Exclusivo
no Discord
Beleza mas Quem É Você, Nanderson?
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.