Bootcamp Programação com PHP, HTML5, CSS3, JS AJAX, PHP e MySQL
Objectivo principal
o Apresentar os conceitos e práticas fundamentais e avançados de desenvolvimento de aplicações
Web usando HTML5, CSS3, JS AJAX, PHP e MySQL
Objetivos específicos
o Criar páginas web com HTML e CSS;
o Escrever código JavaScript e jQuery;
o Criar sites dinâmicos com PHP e MYSQL;
o Entender como JavaScript e PHP funcionam;
o Aprender AJAX, para criar páginas da web dinâmicas que irão carregar informações sem
recarregar a página;
o Criar aplicativos CRUD com PHP e MySQL;
o Criar aplicativos seguros com PHP, Ajax e MySQL.
Pré-requisitos
o Nenhum pré-conhecimento é necessário;
o Não é necessária nenhuma experiência de programação;
o É necessário um PC ou Mac;
o Nenhum software é necessário antes do curso (todo o software usado no curso é gratuito).
Módulos
Módulo 1 – HTML5
Visão geral do Módulo
1. Introdução ao desenvolvimento Web
Introdução ao curso
Visual Studio Code - Extensões e outros editores e IDE
2. Noções básicas da web
O que é Internet?
O que é protocolo TCP/IP?
O que é DNS?
O que é HTTP?
Como funciona o HTTP?
O que é tecnologia cliente-servidor?
Como funciona o site?
Tipos de idiomas
Compilador vs interpretador
Diferentes áreas de desenvolvimento Web
Recapitulando
3. HTML 5
O que é HTML?
Tag, Elemento e Atributo
Estrutura de uma página web
Minha primeira página HTML
Exercício: Escreva sua primeira página HTML
Tags de cabeçalho
Exercício: Criar Títulos
Parágrafos e comentários
Exercício: Parágrafos e Comentários
Linhas horizontais e quebras de linha
Exercício: Linhas e Quebras
Formatações de textos
Exercício: Formatação de Texto
Tags Pré e código
Exercício: Tags Pré e Código
Imagens
Links
Meta Tags
iFrames
Exercício - Página de tutoriais
Listas ordenadas e não ordenadas
Tabelas
Exercício: lista de produtos
Formulários
Exercício - Formulário de Contato
Caracteres especiais
Recapitulando
4. CSS3
O que é CSS3?
Inline CSS
Exercício: CSS Inline
Comentários CSS
CSS Interno
Seletores CSS
Seletor Universal
Seletor de tipo
Classes e IDs
Tags Div & Span
Seletor de Atributo
Seletor de crianças
Seletor de descendente
Seletor de irmão adjacente
Seletor geral de irmãos adjacentes
Pseudo classe e elementos
Regras de precedência CSS
Bordas
Fontes & cores
Tamanhos de textos
Estilos de textos
Cor e imagem de fundo
CSS Externo
CSS de ligação
Exercício: Vinculando CSS
Como depurar código CSS
Modelo de caixa
Elementos Flutuantes
Elementos inline, block e inline-block
Posicionamento estático e relativo
Posicionamento - absoluto e fixo
Sobrepondo elementos
Formatando links
Mais sobre seletores
Herança e especificidade
Criando barra de navegação vertical
Marcando página atual
Criando barra de navegação horizontal
Navegação com abas
Layout de largura fixa
Layout líquido
Imagens líquidas
Coluna falsa
Estilizando tabelas
Estilizando formulários
Arredondamento com imagens
Recapitulando
5. HTML5 e CSS3 – Mais recursos
Normalize CSS
Box Sizing & Cantos arredondados
Gradientes & Transparências
Sombras
Animações
Transições
Novas tags html 5 Header, Nav e Footer
Novas tags html 5 Article, Section, Aside e time
Compatibilidade Html 5
Novas tags de Input
Flexbox
Grid CSS
Recapitulando
6. Padrões de Web Design Responsivo com CSS Grid e Flexbox
Introdução aos Padrões de Web Design Responsivo
Duas colunas iguais - CSS Grid
Duas colunas iguais - Flexbox
Três colunas iguais - CSS Grid
Três colunas iguais - Flexbox
Três colunas (1 maior) - CSS Grid
Três colunas (1 maior) - Flexbox
Soltar coluna - CSS Grid
Soltar coluna - Flexbox
Com Barra Lateral - CSS Grid
Com barra lateral – Flexbox
Recapitulando
Trabalho Prático – Criar um layout de um site responsivo e acessível com o conteúdo no
Módulo.
Duração: 40 Horas
Módulo 3 – Javascript e jQuery
Visão geral do Módulo
1. Javascript
JavaScript, ECMAScript e versões
Incluindo JavaScript em páginas HTML5
O console do Chrome
Comentários
Identificadores
Variáveis em JavaScript
Variáveis com let e const
Tipos de dados Primitivos
Palavras-chave
Palavras reservadas
Números
Operadores de atribuições
Operadores de comparação
Operadores aritméticos
Operadores lógicos
Strings
Operações de String
Convertendo de String em Número
Conversão de número em string
Controlar a ordem das operações
Concatenação e template strings
Variáveis null e undefined
Booleanos
Objetos
Construtor de objeto e a palavra this
Modificar objetos
Destruição de Objetos
Métodos de Objeto
Junte dois objetos com o Spread Operator
Arrays
Métodos para arrays
Funções em JavaScript
Diferenças entre o tipo de funções
Diferença de método e função
Funções com parâmetros e argumentos
Funções que retornam valores
Funções anônimas
Funções de callback
Funções nativas para manipular strings
Funções nativas para tarefas matemáticas
Funções nativas para manipular datas
Estruturas de controle
Condicionais - if, ifelse, else
Operadores de comparação (condicionais)
Operadores lógicos
Operador ternário
Condicionais - Switch
Operadores aritméticos
For Loops
Loops – While, Do While e forEach
Outros iteradores em JavaScript
Escopo de variáveis
Filtro, find e reduce em JavaScript
Eventos em JavaScript
Eventos de Mouse
Eventos de teclado
Eventos em formulários
Criação de um validador de formulário
O que são protótipos?
OOP - Classes em JavaScript
OOP - Herança
Tratamento de erros com try, catch, throw e finally
Promises em JavaScript
Notification API
Async / Await
Como trabalhar com duas consultas de espera assíncronas?
Fetch API e exibir resultados de outro site com JavaScript
Recapitulando
2. DOM em Ação
Introdução
Navegando no DOM com o Chrome
Adicionando comandos no console
Verificar se o conteúdo está pronto
Seleção de conteúdo com JS getElementById
Seleção de conteúdo com JS getElementByClassName
Seleção de conteúdo com JS getElementSByTag
Seleção de conteúdo com JS querySelector
Seleção de conteúdo com JS querySelectorAll
Crie HTML com createElement
Nós
Criação de elementos
Elementos de Clonagem
Controlando inserções com insertbefore
Removendo Elementos
Substituindo Elementos
Recapitulando
3. JQuery
Introdução
Esperando que o documento esteja pronto
Seleção de conteúdo com jQuery
Clonando conteúdo com jQuery
Exclusão e exibição de conteúdo com jQuery
Adicionando/removendo classes com jQuery
Tratamento de eventos com jQuery
Navegando pelo DOM com jQuery
Obtendo o texto e atualizando-o com jQuery
Selecionando e alterando atributos com jQuery
Alterando o CSS de um elemento com jQuery
Eventos em jQuery
SlideUp e SlideDown
Ajax com jQuery
Loop por meio de uma matriz com jQuery
Criação do HTML necessário
Adicionando uma navegação e estilos
Ajustando as guias na posição
Escrevendo nosso primeiro código jQuery
Escrever uma função para reagir com base no clique do usuário
Trabalhando com a seção Conferências
Recapitulando
Trabalho Prático – Desenvolver uma aplicação usando o conteúdo do módulo.
Duração: 40 Horas
Módulo 4 - Sass e Gulp
Visão geral do Módulo
O que é Gulp?
O que é SASS?
Instalando Chocolatey no Windows
Instalando Node.js e NPM
Instalando o Gulp
SASS e criação da primeira tarefa
Prática – criando um projecto em SASS
Projecto – Criando um projecto com SASS, HTML e Javascript
Recapitulando
Duração: 2 Horas
Módulo 5 - Base de Dados MySQL
Visão geral do Módulo
Base de dados, SQL e MySQL - diferenças e o que são
Tipos de banco de dados
Instalar o MySQL no Windows
Criando e excluindo base de dados
Tabelas e tipos de dados
Editando nome de tabelas
Incluindo, editando e removendo colunas de tabelas
INSERT - Inserindo dados em tabela
SELECT - Consultando dados
Filtrando registos (WHERE)
Preenchendo a base de dados com registos para testes
SELECT - Filtros com Operadores de Comparação
SELECT - Filtros com Operadores Lógicos
SELECT - Filtros com o operador BETWEEN
SELECT - Filtros com o operador IN
SELECT - Filtros com o operador LIKE
SELECT - Ordenando resultado
SELECT - Limitando retorno
SELECT - Funções de agregação: MAX, MIN, AVG, SUM e COUNT
SELECT - Agrupando seleção de registos (GROUP BY)
SELECT - Filtrando seleções agrupadas (HAVING)
UPDATE - Atualizando registos
DELETE - Excluindo registos
Regras de normalização
O que é cardinalidade e diagramas ER?
Introdução ao relacionamento entre tabelas, chave primária e estrangeira
Criar uma Tabela Dinâmica
Juntar 2 tabelas em uma consulta
Projeto Loja Virtual - Relacionamento Um para Um
Projeto Loja Virtual - Relacionamento Um para Um
Projeto Loja Virtual - Relacionamento Um para Muitos
Projeto Loja Virtual - Relacionamento Muitos para Muitos
Projeto Loja Virtual - Relacionamento Muitos para Muitos
Introdução as Junções (JOINS) entre tabelas
JOIN - Junção à esquerda (LEFT JOIN)
JOIN - Junção à direita (RIGHT JOIN)
JOIN - Junção interna (INNER JOIN)
Alias - Apelidando tabelas
Recapitulando
Trabalho Prático – Desenvolver uma base de dados para um hospital usando o conteúdo do
módulo.
Duração: 40 Horas
Módulo 6 – Programação com PHP
Visão geral do Módulo
1. A linguagem PHP
O que é PHP?
Instale o Laragon no Windows
Instalar o PHP no Windows
Adicionar PHP ao caminho do Windows
Primeiro programa em PHP
Variáveis e constantes em PHP
Tipos de dados em PHP
Números e operadores em PHP
Comparadores em PHP
Incrementos em PHP
Funções para Strings em PHP
Arrays e funções para matrizes em PHP
arrays associativas ou matrizes associativas em PHP
isset() e empty ()
if, else if e switch
for, while, do while e foreach
foreach e exibir o conteúdo de um array
Funções em PHP
Funções que retornam valores
Parâmetros nomeados em PHP
Include e require
json_encode e json_decode
Tratamento de exceções
arquivos
Data e hora
Formulário com ação GET
Formulário com ação POST
Higienizar formulário de dados
Trabalhando com Cookies
Trabalhando com Sessões
Super Global
PHP e base de dados
As etapas para consultar uma base de dados
Obtenha os serviços de uma base de dados
Trabalho Prático – Desenvolver uma aplicação PHP e base de dados para um hospital usando o
conteúdo do módulo.
2. Orientação a objetos com PHP
O que é Programação Orientada a Objetos, Vantagens e muito mais
Criando uma classe e instanciando-a
Atributos de classe e construtores
Atributos de classe em PHP
Métodos em classes
Modificadores de acesso públicos e protegidos
Métodos estáticos
Herança de classe
Classes abstratas
Interfaces
Polimorfismo
Classes Autoload
Namespaces
Tratamento de erros - Try, Catch, Finally e Throw
Tratamento de erros - Exceções customizadas
O que é o Composer?
Windows - Instalar Composer
Carregar automaticamente com o Composer
Consulte o banco de dados com OOP e MySQLi
Consulte o banco de dados com OOP e PDO
Recapitulando
Trabalho Prático – Usar o PHP OO na aplicação desenvolvida na seção anterior
Duração: 60 Horas
Módulo 7 - Ajax
Visão geral do Módulo
O que é AJAX?
Exemplos de sites com Ajax
O que é XMLHttpRequest
Estados e propriedades em XMLHttpRequest
Carregando informações de um arquivo externo com AJAX
Carregando informações de um arquivo PHP
Recapitulando
Trabalho Prático – Adicionar funcionalidade AJAX no projeto desenvolvido no módulo anterior.
Duração: 16 Horas
Módulo 8 - Introdução a RESP e API
Visão geral do Módulo
Compreendendo REST e API
O que é API
O que é REST
Webservice vs REST
O que é REST JSON API
Recapitulando
Duração: 1 Hora
Desafio Final
Desenvolver uma aplicação com PHP envolvendo todo o conteúdo do curso.
Duração: 16 horas