<?PHP,
Eu escolho você!
Universidade Federal de Juiz de Fora
2012
Claudson Oliveira
http://about.me/cloudson
Start!
Origem
Criador: Rasmus Lerdorf
Personal HomePage Tools : 1995
Como funciona
Linguagem do lado do servidor
“Ciclo de vida”
Escrevendo
Escrevendo
Define o escopo do php
Escrevendo
   Define o escopo do php




 Instrução para
imprimir na tela.
Escrevendo




1   Multiparadigma
Variáveis
Variáveis
Variáveis



  Inteiro
Variáveis



  Inteiro
            Real
Variáveis



  Inteiro
                Real

        Texto
E se você não dissesse o
tipo das variáveis?
E se você não dissesse o
tipo das variáveis?
      Tipagem dinâmica!!!
Variáveis
Variáveis




Variáveis começam
      com $
Concatenação
Concatenação



               concatena
Concatenação



          Forma mais
             eficaz
Concatenação




           Erro !?
Concatenação




         Interpretação
             literal!
Variáveis variáveis
Variáveis variáveis




2   Variáveis variáveis
Array
Array
Array


Variável com 3 valores
Array




3   var_dump()
Array
Array

Definindo que $info é
      um array
Array

         $info na posição 0
        (zero) recebe “valor
                 1”
Array




        $info na posição 1
          (um) recebe 8
Array
Array




Explicitando as posições do
           array
Array
Array




Não é preciso manter uma
  ordem nas posições
Percorrendo arrays
Array associativo
Array associativo

                chave
Array associativo

                chave


                        Valor
Array associativo




       Chaves de tipos
    primitivos. Valores de
        qualquer tipo.
Array associativo




             4   arrays
Usando métodos do
 HTTP com arrays
Método GET
Método GET
• “Pegar conteúdo”
Método GET
• “Pegar conteúdo”
• Variáveis passadas na url
  – ?q=php&lang=pt
Método GET
• “Pegar conteúdo”
• Variáveis passadas na url
  – ?q=php&lang=pt
Método GET
• Array global $_GET
Método GET
• Array global $_GET
• Index.php?curso=php&aluno=marcus
Método GET
• Array global $_GET
• Index.php?curso=php&aluno=marcus
• var_dump ?
Método POST
• Enviar/postar conteúdo
Método POST
• Enviar/postar conteúdo
• “variaveis” são passadas dentro da mensagem
Método POST
• Enviar/postar conteúdo
• “variaveis” são passadas dentro da mensagem
• $_POST
Método POST
HTTP é um protocolo
sem estado!
Como guardar
informações entre
      requisições?
Sessions
Sessões
• Arquivo contendo histórico do usuário
Sessões
• Arquivo contendo histórico do usuário
• Tempo de expiração
Sessões
• Arquivo contendo histórico do usuário
• Tempo de expiração
• Array $_SESSION
Sessões
Sessões

   Habilita o uso de sessões
Sessões




Guarda valores na sessão
Sessões




Crie esse script!
Sessões




Crie outro arquivo!
Funções
Funções
Funções




Vamos chamar
  a função!
Funções anônimas
Funções anônimas




     Silex !!!
Funções anônimas
          Bloco de código usado
         somente para este caso
Funções anônimas




              Closure!!!!
Funções anônimas
Funções anônimas




 Quais os valores do
   vetor $dobro?
Funções anônimas




         5   Funções anônimas
Classes
Classes
Classes




Características públicas
Classes
Classes


 Métodos possuem
 a mesmas regras
   das funções
Classes


        Variável $this
        representa a
     própria instância da
            classe
Objetos
• São Classes “vivas”
Objetos
• São Classes “vivas”
                             $usuario é um
                                Jogador
Objetos
• São Classes “vivas”

                             Valores para os
                                atributos
Objetos
• São Classes “vivas”


                             Chamando um
                                método
Métodos
Métodos




          Sobrecarga de
            método!!
Métodos mágicos(?)
Métodos mágicos
$you->go();
Continue!!
•   http://php.net/
•   http://github.com/
•   http://phpmg.com/
•   http://www.symfony-project.org/
•   http://silex.sensiolabs.org/
•   http://twig.sensiolabs.org/
•   http://doctrine-project.org/
•   http://packagist.org/
Obrigado!

Php, eu escolho você! @ UFJF