do Jeito Certo
Não seja o Sobrinho
Outubro de 2013

de iro s - Jo ao Pau lo C e rc a l
Ad a n Fe li p e Me

quarta-feira, 16 de outubro de 13
João Paulo Cercal
iZi

Cekurte Sistemas

Programador Web
Wordpress e Zend

Freelancer
Wordpress, Zend,
Symfony e Silex

Ap re s e n t ação

quarta-feira, 16 de outubro de 13
Adan Felipe Medeiros
VEG Tecnologia
Programador Web
Sistemas, Websites e
Lojas Virtuais

Ap re s e n t ação

quarta-feira, 16 de outubro de 13
ome n t o Ving a nça [.. .]
M

Cada aluno(a) irá dizer:
- Seu nome;
- Qual o seu Conhecimento com Desenvolvimento Web;
- Quais as suas Expectativas com este Mini Curso;

Vamo s n o s C o nh e c e r !

quarta-feira, 16 de outubro de 13
Arquitetura
A arquitetura básica de aplicações web é chamada de
Cliente/Servidor (Client/Server);
Cliente = Browser (o navegador do usuário)
Servidor = Uma máquina central que disponibiliza
serviços

quarta-feira, 16 de outubro de 13
O Protocolo HTTP
Request

Response
Usuário (Cliente)

quarta-feira, 16 de outubro de 13

Ser vidor
Métodos HTTP
1) GET - Usado para recuperar um registro;
2) POST - Usado para inserir um registro;
3) PUT - Usado para atualizar um registro;
4) DELETE - Usado para remover um registro;
5) HEAD - Igual ao GET mas sua resposta é enviada
apenas pelo Cabeçalho;

quarta-feira, 16 de outubro de 13
O Servidor Web Apache
Amplamente utilizado;
OpenSource;
Conceito de Módulos;
E o melhor, existe um módulo
para PHP.

quarta-feira, 16 de outubro de 13
O Funcionamento do Apache
Request

Response
Usuário (Cliente)

quarta-feira, 16 de outubro de 13

Servidor
HTML
Hypertext Markup Language;
Utilização de Tags (marcadores);
Cada tag tem um significado;
Juntas formam um documento;
Vamos conhecer a sintaxe?

quarta-feira, 16 de outubro de 13
HTML Sintaxe
<tag atributo=”valor-do-atributo”>Conteúdo</tag>

Ou...
<tag atributo=”valor-do-atributo” />

quarta-feira, 16 de outubro de 13
HTML e a Tabela Periódica
http://joshduck.com/periodic-table.html

quarta-feira, 16 de outubro de 13
HTML Exemplo Básico

quarta-feira, 16 de outubro de 13
HTML além do código [...]

quarta-feira, 16 de outubro de 13
HTML5
Web Semântica;
Novas Tags;
Elementos experimentais
Canvas, SVG, WebGL, Local Storage, WebSocket,
entre outras...

quarta-feira, 16 de outubro de 13
HTML VS HTML5

quarta-feira, 16 de outubro de 13
CSS
Cascading StyleSheet;
Personalizar a exibição de um documento HTML
Composto por Seletores;

quarta-feira, 16 de outubro de 13
CSS
Cada seletor possuí as suas regras;
Cada regra criada influencia em como o layout será
exibido;
Cada seletor pode ser composto por N seletores;
Possibilidade de uso com Estados;
Vamos conhecer a sintaxe?

quarta-feira, 16 de outubro de 13
CSS (Sintaxe)

quarta-feira, 16 de outubro de 13
CSS (Libraries)

quarta-feira, 16 de outubro de 13
JS (Javascript)
Desenvolvido inicialmente pela Netscape;
É uma linguagem de Programação executada no
lado (máquina) do Cliente;
Deixou de ser utilizado nativamente, hoje usamos
bibliotecas;
Permite que uma página fique dinâmica;
Permite desenvolvimento de Aplicações Ricas para
a Internet (RIA);
Não é JAVA!
quarta-feira, 16 de outubro de 13
JS (Javascript)
Nos dias atuais, pode ser executado fora do
Navegador.

quarta-feira, 16 de outubro de 13
JS (Sintaxe)

quarta-feira, 16 de outubro de 13
JS (Libraries)

quarta-feira, 16 de outubro de 13
Git
Versionar e manter histórico de Alterações de
Códigos Fonte;
Trabalhar em Equipe;
Ramificações (branches);

Serviços de Referência no Mercado
GitHub e Bitbucket

quarta-feira, 16 de outubro de 13
Dependency Manager
Gerencia as dependências do Software;
Facilita a Manutenibilidade do Software;
Organização de códigos fonte de terceiros
(vendors);
Usaremos dois desses serviços
Bower (JS e CSS) e Composer (PHP)

quarta-feira, 16 de outubro de 13
PHP
Criado em 1995 por Rasmus Lerdorf;
Inicialmente se chamava PHP/FI
(Personal Home Pages Tools/Forms Interpreter)
Hoje se chama: Hypertext Preprocessor;
Reformulado pela comunidade e por Andy e Zeev,
criaram a Engine atual e uma empresa chamada
Zend;
Hoje estamos na versão 5.5.x
quarta-feira, 16 de outubro de 13
PHP (Versões)
PHP/FI: Interpretador de Formulários;
PHP/FI 2.0: Milhares de usuários, representava 1%
dos domínios;
PHP3: deixou de ser apenas um interpretador de
formulários;
PHP4: Escrita uma nova Engine (Zend), 20% dos
domínios da Internet;
PHP5: Suporte a grandes e aplicações e orientação
a objetos;
quarta-feira, 16 de outubro de 13
PHP e o Sobrinho

quarta-feira, 16 de outubro de 13
PHP e o Sobrinho
Pega scripts PRONTOS e segue tutoriais na internet
e diz que sabe programar;
Por conta destes profissionais, o PHP e o seu
mercado são prejudicados;

quarta-feira, 16 de outubro de 13
PHP do Jeito Certo
Finalmente, vamos aprender como programar de
maneira correta utilizando o PHP.
O que vem a seguir?
+ Design Patterns
+ Frameworks
+ Prática

quarta-feira, 16 de outubro de 13
Design Patterns
ou Padrões de Projeto;
Definem uma forma padronizada (já documentada)
de resolver um problema;
Existem vários padrões, vamos estudar apenas o
MVC;

quarta-feira, 16 de outubro de 13
Design Patterns
O MVC é um padrão para desenvolvimento em
camadas, que delega as responsabilidades da
aplicação;
Outros padrões:
CRUD, Factory, Singleton, Dependency Injection,
Decorator, Chain of Responsability, Front
Controller, etc;

quarta-feira, 16 de outubro de 13
Design Patterns: MVC

quarta-feira, 16 de outubro de 13
Frameworks
Agilizam e padronizam a forma como você
trabalha:

quarta-feira, 16 de outubro de 13
Dúvidas?
- Fiquem a vontade para
questionar..

úv id a s, C rít ic a s, S uge s tõe s?
D

quarta-feira, 16 de outubro de 13

<?php
Exercícios de Fixação
- Vamos praticar, aqueçam os
seus dedos...

o s No s s o s C o nh e c ime n t o s
H o ra de Te s t a r

quarta-feira, 16 de outubro de 13
Ferramentas
- PHP (Silex)
- SublimeText
- Mysql Workbench
- Browser (Firefox + Firebug)

r o s n o s s o s c o nh e c ime n t o s
H o ra de te s t a

quarta-feira, 16 de outubro de 13
Proposta CRUD
- Agenda de contatos
Nome, Sexo, E-mail, Telefone

quarta-feira, 16 de outubro de 13
Onde encontro os fontes?
- No GitHub, em:
https://github.com/CekurteSistemas/php-do-jeito-certo

Q ue r o c o n teúdo?

quarta-feira, 16 de outubro de 13
Contatos
Adan Felipe Medeiros
@adanfm
facebook.com/adanfm
adan.grg@gmail.com
linkedin.com/in/adanfm

João Paulo Cercal
@jpcercal
facebook.com/jpcercal
jpcercal@gmail.com
linkedin.com/in/jpcercal

amo s t ro c a r f ig u r inh a s !?
V

quarta-feira, 16 de outubro de 13

Php do Jeito Certo

  • 1.
    do Jeito Certo Nãoseja o Sobrinho Outubro de 2013 de iro s - Jo ao Pau lo C e rc a l Ad a n Fe li p e Me quarta-feira, 16 de outubro de 13
  • 2.
    João Paulo Cercal iZi CekurteSistemas Programador Web Wordpress e Zend Freelancer Wordpress, Zend, Symfony e Silex Ap re s e n t ação quarta-feira, 16 de outubro de 13
  • 3.
    Adan Felipe Medeiros VEGTecnologia Programador Web Sistemas, Websites e Lojas Virtuais Ap re s e n t ação quarta-feira, 16 de outubro de 13
  • 4.
    ome n to Ving a nça [.. .] M Cada aluno(a) irá dizer: - Seu nome; - Qual o seu Conhecimento com Desenvolvimento Web; - Quais as suas Expectativas com este Mini Curso; Vamo s n o s C o nh e c e r ! quarta-feira, 16 de outubro de 13
  • 5.
    Arquitetura A arquitetura básicade aplicações web é chamada de Cliente/Servidor (Client/Server); Cliente = Browser (o navegador do usuário) Servidor = Uma máquina central que disponibiliza serviços quarta-feira, 16 de outubro de 13
  • 6.
    O Protocolo HTTP Request Response Usuário(Cliente) quarta-feira, 16 de outubro de 13 Ser vidor
  • 7.
    Métodos HTTP 1) GET- Usado para recuperar um registro; 2) POST - Usado para inserir um registro; 3) PUT - Usado para atualizar um registro; 4) DELETE - Usado para remover um registro; 5) HEAD - Igual ao GET mas sua resposta é enviada apenas pelo Cabeçalho; quarta-feira, 16 de outubro de 13
  • 8.
    O Servidor WebApache Amplamente utilizado; OpenSource; Conceito de Módulos; E o melhor, existe um módulo para PHP. quarta-feira, 16 de outubro de 13
  • 9.
    O Funcionamento doApache Request Response Usuário (Cliente) quarta-feira, 16 de outubro de 13 Servidor
  • 10.
    HTML Hypertext Markup Language; Utilizaçãode Tags (marcadores); Cada tag tem um significado; Juntas formam um documento; Vamos conhecer a sintaxe? quarta-feira, 16 de outubro de 13
  • 11.
    HTML Sintaxe <tag atributo=”valor-do-atributo”>Conteúdo</tag> Ou... <tagatributo=”valor-do-atributo” /> quarta-feira, 16 de outubro de 13
  • 12.
    HTML e aTabela Periódica http://joshduck.com/periodic-table.html quarta-feira, 16 de outubro de 13
  • 13.
  • 14.
    HTML além docódigo [...] quarta-feira, 16 de outubro de 13
  • 15.
    HTML5 Web Semântica; Novas Tags; Elementosexperimentais Canvas, SVG, WebGL, Local Storage, WebSocket, entre outras... quarta-feira, 16 de outubro de 13
  • 16.
    HTML VS HTML5 quarta-feira,16 de outubro de 13
  • 17.
    CSS Cascading StyleSheet; Personalizar aexibição de um documento HTML Composto por Seletores; quarta-feira, 16 de outubro de 13
  • 18.
    CSS Cada seletor possuías suas regras; Cada regra criada influencia em como o layout será exibido; Cada seletor pode ser composto por N seletores; Possibilidade de uso com Estados; Vamos conhecer a sintaxe? quarta-feira, 16 de outubro de 13
  • 19.
  • 20.
  • 21.
    JS (Javascript) Desenvolvido inicialmentepela Netscape; É uma linguagem de Programação executada no lado (máquina) do Cliente; Deixou de ser utilizado nativamente, hoje usamos bibliotecas; Permite que uma página fique dinâmica; Permite desenvolvimento de Aplicações Ricas para a Internet (RIA); Não é JAVA! quarta-feira, 16 de outubro de 13
  • 22.
    JS (Javascript) Nos diasatuais, pode ser executado fora do Navegador. quarta-feira, 16 de outubro de 13
  • 23.
  • 24.
  • 25.
    Git Versionar e manterhistórico de Alterações de Códigos Fonte; Trabalhar em Equipe; Ramificações (branches); Serviços de Referência no Mercado GitHub e Bitbucket quarta-feira, 16 de outubro de 13
  • 26.
    Dependency Manager Gerencia asdependências do Software; Facilita a Manutenibilidade do Software; Organização de códigos fonte de terceiros (vendors); Usaremos dois desses serviços Bower (JS e CSS) e Composer (PHP) quarta-feira, 16 de outubro de 13
  • 27.
    PHP Criado em 1995por Rasmus Lerdorf; Inicialmente se chamava PHP/FI (Personal Home Pages Tools/Forms Interpreter) Hoje se chama: Hypertext Preprocessor; Reformulado pela comunidade e por Andy e Zeev, criaram a Engine atual e uma empresa chamada Zend; Hoje estamos na versão 5.5.x quarta-feira, 16 de outubro de 13
  • 28.
    PHP (Versões) PHP/FI: Interpretadorde Formulários; PHP/FI 2.0: Milhares de usuários, representava 1% dos domínios; PHP3: deixou de ser apenas um interpretador de formulários; PHP4: Escrita uma nova Engine (Zend), 20% dos domínios da Internet; PHP5: Suporte a grandes e aplicações e orientação a objetos; quarta-feira, 16 de outubro de 13
  • 29.
    PHP e oSobrinho quarta-feira, 16 de outubro de 13
  • 30.
    PHP e oSobrinho Pega scripts PRONTOS e segue tutoriais na internet e diz que sabe programar; Por conta destes profissionais, o PHP e o seu mercado são prejudicados; quarta-feira, 16 de outubro de 13
  • 31.
    PHP do JeitoCerto Finalmente, vamos aprender como programar de maneira correta utilizando o PHP. O que vem a seguir? + Design Patterns + Frameworks + Prática quarta-feira, 16 de outubro de 13
  • 32.
    Design Patterns ou Padrõesde Projeto; Definem uma forma padronizada (já documentada) de resolver um problema; Existem vários padrões, vamos estudar apenas o MVC; quarta-feira, 16 de outubro de 13
  • 33.
    Design Patterns O MVCé um padrão para desenvolvimento em camadas, que delega as responsabilidades da aplicação; Outros padrões: CRUD, Factory, Singleton, Dependency Injection, Decorator, Chain of Responsability, Front Controller, etc; quarta-feira, 16 de outubro de 13
  • 34.
  • 35.
    Frameworks Agilizam e padronizama forma como você trabalha: quarta-feira, 16 de outubro de 13
  • 36.
    Dúvidas? - Fiquem avontade para questionar.. úv id a s, C rít ic a s, S uge s tõe s? D quarta-feira, 16 de outubro de 13 <?php
  • 37.
    Exercícios de Fixação -Vamos praticar, aqueçam os seus dedos... o s No s s o s C o nh e c ime n t o s H o ra de Te s t a r quarta-feira, 16 de outubro de 13
  • 38.
    Ferramentas - PHP (Silex) -SublimeText - Mysql Workbench - Browser (Firefox + Firebug) r o s n o s s o s c o nh e c ime n t o s H o ra de te s t a quarta-feira, 16 de outubro de 13
  • 39.
    Proposta CRUD - Agendade contatos Nome, Sexo, E-mail, Telefone quarta-feira, 16 de outubro de 13
  • 40.
    Onde encontro osfontes? - No GitHub, em: https://github.com/CekurteSistemas/php-do-jeito-certo Q ue r o c o n teúdo? quarta-feira, 16 de outubro de 13
  • 41.
    Contatos Adan Felipe Medeiros @adanfm facebook.com/adanfm adan.grg@gmail.com linkedin.com/in/adanfm JoãoPaulo Cercal @jpcercal facebook.com/jpcercal jpcercal@gmail.com linkedin.com/in/jpcercal amo s t ro c a r f ig u r inh a s !? V quarta-feira, 16 de outubro de 13