O documento fornece uma introdução ao PHP, incluindo:
1) O que é PHP e como funciona;
2) Características e história do PHP;
3) Como fazer o download e instalação do PHP e Apache.
1. Bacharel em Ciência da Computação (UFG)
Especializando em Engenharia de Software
Analista de Sistemas – SIGMA / MDIC
Professor Formador EAD – NEAD/ETEB
george@georgemendonca.com.br
http://www.georgemendonca.com.br
Introdução
3. • O que é PHP?
– PHP: Hypertext Preprocessor
– PHP é uma linguagem de script do lado servidor
– Scripts PHP são executados no servidor
– PHP suporta várias bases de dados (MySQL, Informix,
Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, etc)
– PHP é um software open source (código aberto)
– PHP é gratuito para baixar e utilizar.
Introdução
26/03/2011 3
4. • O que arquivos PHP podem fazer?
– Arquivos PHP podem conter texto, tags HTML e scripts.
– Arquivos PHP são retornados para o navegador como
HTML simples.
– Arquivos PHP tem extensões de arquivo ".php", ".php3",
ou ".phtml“.
Introdução
26/03/2011 4
5. • A história do PHP
– PHP/FI (Personal Home Page / Forms Interpreter): foi criado
por Rasmus Lerdorf em 1995 (Pearl).
– Em 1997, PHP/FI 2.0, a segunda versão da implementação em
C.
– PHP 3: totoalmente reescrito em 1997, assemelha ao PHP de
hoje. Criado por And Gutmans e Zeev Suraski. Juntamente
com Rasmus, lançaram esta versão em junho de 1998.
– PHP 4: Zend Engine, mais robusta, profissional, novas
características, banco de dados, sessões, etc.
– PHP 5: Zend Engine 2, lançado em junho de 2004, novo
modelo de Orientação a Objetos, novas características.
Introdução
26/03/2011 5
6. • Características do PHP
– Velocidade e robustez
– Estruturado
– Suporte a Orientação a Objetos
– Portabilidade – Independência de plataforma - "write once
run anywhere" (escreva uma vez, rode em qualquer lugar);
– Tipagem Fraca
– Sintaxe similar a Linguagem C/C++ e o PERL
– Curva de aprendizado reduzida
– Documentação oficial em português
Introdução
26/03/2011 6
7. • Características do PHP
– Foi criado do zero para a internet em vez de ser a adaptação
de uma tecnologia anterior
– Grande quantidade de módulos, bibliotecas prontas e
frameworks disponíveis
– Flexibilidade para desenvolver códigos em outras linguagens.
Introdução
26/03/2011 7
8. • O que PHP pode fazer?
– Qualquer coisa que um script CGI faz e muit mais!
• Script no lado do servidor (server-side scripts)
– Este é o mais tradicional e principal campo de atuação do PHP
• Script de linha de comando.
– CLI – Command Line Interface
• Escrever aplicações desktop.
– PHP-GTK
Introdução
26/03/2011 8
9. • O que você precisa para começar?
– Ter acesso a um servidor Web com suporte PHP.
– Você pode:
• Instalar o servidor web Apache (ou IIS) em seu próprio servidor,
instalar o PHP e o banco de dados MySQL, ou outro banco de sua
preferência.
• Ou executar um instalador e configurador de um ambiente Web para
PHP como o WAMP, LAMP, XAMP ou o Zend Server CE.
• Ou encontrar um plano de hospedagem web com suporte a PHP e
Banco de Dados.
Introdução
26/03/2011 9
10. • Apache HTTP Server
– Servidor HTTP (HyperText Transfer Protocol).
– É a principal tecnologia da Apache Software Foundation,
responsável por mais de uma dezena de projetos envolvendo
tecnologias de transmissão via web, processamento de dados
e execução de aplicativos distribuídos.
Introdução
26/03/2011 10
11. • Apache HTTP Server
– Mais bem sucedido servidor web livre
– Numa pesquisa realizada em Agosto de 2010 (Pesquisa
realizada pelo site Netcraft) foi constatado que a utilização do
Apache representa 56% dos servidores ativos no mundo.
– Software de licença livre e código aberto.
Introdução
26/03/2011 11
12. • Apache HTTP Server
– Criado para atender às demandas dos maiores provedores e
sites web.
– Não tem concorrentes quanto à riqueza de recursos,
estabilidade, performance, etc.
Introdução
26/03/2011 12
13. • Apache HTTP Server
– Total de sites em todos os domínios de Agosto de 1995 a
Agosto de 2010.
Introdução
26/03/2011 13
14. • Apache HTTP Server
– Quota de mercado para os principais servidores em todos os
domínios de Agosto de 1995 - agosto 2010.
Introdução
26/03/2011 14
15. • Apache HTTP Server
– Links oficiais:
• The Apache Software Foundation
• Apache - HTTP Server Project
Introdução
26/03/2011 15
16. • O lado Cliente
– Onde são processadas as diversas formas de interação
entre o usuário e o sistema.
– Solicitam serviços para efetivar a interação entre usuário e
sistema.
– Navegador: Fire Fox, IE, Opera, etc.
• Responsável por mostrar o conteúdo recebido do servidor.
• JavaScript, Cookies, HTML, CSS, imagens, etc.
Arquitetura Cliente Servidor
26/03/2011 16
17. • O lado Servidor
– Estação onde estão sendo executados os aplicativos aos
quais os acessos são feitos.
– Oferecem serviços especializados aos seus requisitantes.
– Repositório de regras de negócios do software web.
– Servidor Web, Servidor de Arquivos, Servidor de E-mail,
Servidor de Banco de Dados.
Arquitetura Cliente Servidor
26/03/2011 17
19. • Aplicações Web:
– Blog
– Webmail
– E-comerce
– Portais Corporativos, Colaborativos, do Conhecimento, etc
– Intranet's corporativas
– Extranet's
– CMS's (Content Management Systems)
– Workflow/Groupware
Aplicações Web com PHP
26/03/2011 19
20. • Aplicações Web:
– Sistemas de Informação
– ERP's (Enterprise Resource Planning)
– Redes sociais: Orkut, Facebook, Linded In, Twitter, etc.
• Stand Alone:
– PHP GTK (aplicações desktop)
• Alguém pode dar mais exemplos?
Aplicações Web com PHP
26/03/2011 20
21. Como fazer o download do PHP?
http://www.php.net/downloads.php
Como instalar o PHP?
http://www.php.net/manual/en/install.php
Como fazer o download do servidor web Apache?
http://httpd.apache.org/download.cgi
Informações importantes sobre PHP
26/03/2011 21
22. • O primeiro script
Iniciando com PHP
26/03/2011 22
<html>
<head>
<title>Primeiro Script PHP</title>
</head>
<body>
<?php echo "Primeiro Script em PHP"; ?>
</body>
</html>
Código HTML
Código PHP
23. • Tags PHP
Iniciando com PHP
26/03/2011 23
// Tag padrão
<?php echo "Primeiro Script em PHP"; ?>
// Short open tags
<script language=“php”>
echo "Primeiro Script em PHP";
</script>
<? echo "Primeiro Script em PHP"; ?>
<% echo "Primeiro Script em PHP"; %>
24. • Case Sentitive
– Faz distinção entre maiúsculas e minúsculas
• Instruções terminadas por “;”
• Comentários
Iniciando com PHP
26/03/2011 24
// Uma linha
# Uma linha
/* Mais de uma
linha */
26. • Variáveis
– É um rótulo que identifica um repositório de dados (local
de armazenamento na memória).
– Faz referência a um tipo de dado específico, isto é, a um
número, a uma letra (caractere), a uma sequência de letras
(string), etc.
– Possui um escopo, isto é, uma região do código
(programa) onde é válida ou pode ser utilizada.
Iniciando com PHP
26/03/2011 26
27. • Variáveis
– Seu uso se dá em dois momentos:
• Declaração
• Utilização propriamente dita (leitura ou escrita)
– São representadas por $, seguidas pelo nome da variável.
Iniciando com PHP
26/03/2011 27
28. • Variáveis
– Atribuídas com o sinal de =
• Variável no lado esquerdo, valor no lado direito
– Não precisam ser declaradas ou inicializadas. Exemplo:
– Atenção: se não for inicializada o valor atribuído será NULO
Iniciando com PHP
26/03/2011 28
<?php $nome = "George Henrique"; ?>
29. • Tipos de Variáveis
– O PHP suporta os oitos tipos primitivos.
– São quatros tipos básicos:
• boolean (valor verdade, TRUE ou FALSE)
• integer (conjunto Z = {..., -2, -1, 0, 1, 2, ...})
• float (número de ponto flutuante, ou também double)
• string (série de caracteres)
Iniciando com PHP
26/03/2011 29
30. • Tipos de Variáveis
– Dois tipos compostos:
• Array (mapa ordenado)
• Object (objeto de uma classe)
– E finalmente dois tipos especiais:
• Resource (referência a um recurso externo)
• NULL (variável sem valor ou não definida)
Iniciando com PHP
26/03/2011 30
31. • Tipos de Variáveis
– O manual também introduz alguns pseudo-tipos por razões
de legibilidade:
• mixed (indica que um parâmetro pode receber mais de um tipo)
• number (indica que um parâmetro pode ser integer ou float)
• callback (chamada de funções definidas como parâmetro)
– E a pseudo-variável $this. Utilizada para referenciar um
objeto de uma classe.
Iniciando com PHP
26/03/2011 31
32. • Tipos de Variáveis
Iniciando com PHP
26/03/2011 32
<?php
$bool = TRUE; // um booleano
$str = "foo"; // uma string
$int = 12; // um inteiro
$double = 1.2; // ponto flutuante
echo gettype($bool)." <br />"; // imprime "boolean"
echo gettype($str)." <br />"; // imprime "string"
echo gettype($double)." <br />"; // imprime "double"
// Se é um inteiro, incrementa em quatro
if (is_int($int)) {
echo $int += 4;
}
// Se for string, imprime conteúdo, caso contrário não faz nada
if (is_string($bool)) {
echo "String: $bool";
}
Saída:
boolean
string
double
16
33. • Variáveis variáveis
– Utilizado quando se necessita de criar variáveis e utilizá-las
dinamicamente:
Iniciando com PHP
26/03/2011 33
<?php
$variavel_comum = "variavel_dinamica";
$$variavel_comum = "conteúdo da variável dinâmica";
echo $variavel_comum." <br />";
echo $$variavel_comum." <br />";
echo $variavel_dinamica;
Saída:
variavel_dinamica
conteúdo da variável
dinâmica
34. • Funções úteis mostrar informações sobre variáveis:
– var_dump($var)
• Mostra informações sobre uma variável.
– var_export($var)
• Representação estruturada de uma variável.
– print_r($var)
• Imprime informações legíveis sobre uma variável.
Iniciando com PHP
26/03/2011 34
<?php
$mensagem = "Para frente e avante!";
var_dump($mensagem);
echo "<br/>";
var_export($mensagem);
echo "<br/>";
print_r($mensagem);
Saída:
string(21) "Para frente e avante!"
'Para frente e avante!'
Para frente e avante!
35. • Conversão de Tipos
– A conversão de tipos no PHP e possível graças a utilização do
casting:
• (int), (integer) - converte para inteiro
• (bool), (boolean) - converte para booleano
• (float), (double), (real) - converte para número de ponto flutuante
• (string) - converte para string
• (binary) - converte para string binária (PHP 6)
• (array) - converte para array
• (object) - converte para objeto
• (unset) - converte para NULL (PHP 5)
– Veja: Tabelas de comparação de tipo do PHP
–
Iniciando com PHP
26/03/2011 35
37. • Constantes
– Uma constante é um identificador para um valor simples. É
um valor que não se altera.
– Para definir uma constante, utilizamos a função define(), cuja
sintaxe é:
Iniciando com PHP
26/03/2011 37
<?php
define("NOME", "<VALOR>");
38. • Funções úteis para constantes:
– defined("NOME_DA_CONSTANTE")
• Verifica a existência de uma constante e se ela foi definida.
– constant("NOME_DA_CONSTANTE")
• Retorna o valor de uma constante. Útil para recuperar constantes
quando não se sabe o nome da constante ou quando é retornada por
uma função.
Iniciando com PHP
26/03/2011 38
40. • Constantes Pré-definidas
– __LINE__ - Retorna a linha atual do arquivo
– __FILE__ - Retorna o caminho com o nome do arquivo
– __DIR__ - Retorna o diretório.
– __FUNCTION__ - Retorna o nome da função atual.
– __CLASS__ - Retorna o nome da classe atual.
– __METHOD__ - Retorna o do método da classe atual.
– __NAMESPACE__ - Retorna o nome atual do namespace.
Iniciando com PHP
26/03/2011 40
41. • Variáveis Super Globais
– Variáveis nativas que estão sempre disponíveis em todos os
escopos:
• $GLOBALS — Referencia todas variáveis disponíveis no escopo global
• $_SERVER — Informação do servidor e ambiente de execução
• $_GET — HTTP GET variáveis
• $_POST — HTTP POST variáveis
• $_FILES — HTTP File Upload variáveis
• $_REQUEST — Variáveis de requisição HTTP
• $_SESSION — Variáveis de sessão
• $_ENV — Environment variables
• $_COOKIE — HTTP Cookies
Iniciando com PHP
26/03/2011 41
42. • Variáveis Super Globais
Iniciando com PHP
26/03/2011 42
echo $_SERVER["PHP_SELF"]."<br />";
echo $_SERVER["HTTP_HOST"]."<br />";
$nome = "George Henrique R. E. Mendonça";
echo $GLOBALS['nome']."<br />";
session_start();
$_SESSION['primeiro_nome'] = "George Henrique";
echo $_SESSION['primeiro_nome']."<br />";
echo $_GET["curso"]."<br />"; // Testar via URL: ?curso=PHP5
echo @$_POST["curso"];
Saída:
/aulas-php5.3-oo/02-php/10-variavis-super-globais.php
Localhost
George Henrique R. E. Mendonça
George Henrique
PHP5
43. • Array
– Arrays em PHP são mapas ordenados de chaves
e valores, ou seja, você pode atribuir a um
elemento do array uma chave e um valor.
Iniciando com PHP
26/03/2011 43
47. • Operadores
– Comparativos
Iniciando com PHP
26/03/2011 47
X == Y => X IGUAL A Y
X >= Y => X MAIOR OU IGUAL A Y
X <= Y => X MENOR OU IGUAL A Y
X != Y => X DIFERENTE DE Y
X <> Y => X DIFERENTE DE Y
X > Y => X MAIOR QUE Y
X < Y => X MENOR QUE Y
49. • Operadores
– Se o recurso track_errors estiver habilitado, qualquer
mensagem de erro gerada pela expressão será gravada na
variável global $php_errormsg. Esta variável será sobrescrita
em cada erro, assim verifique-a constantemente se você
quiser usá-la.
– O PHP suporta um operador de controle de erro: o sinal
'arroba' (@). Quando ele precede uma expressão em PHP,
qualquer mensagem de erro que possa ser gerada por
aquela expressão será ignorada.
– $nome = @$__POST['nome'];
Iniciando com PHP
26/03/2011 49
50. • Operadores
– O PHP suporta um operador de execução: acentos graves
(``). Note que não são apóstrofes!
– O PHP tentará executar o conteúdo dos acentos graves como
um comando do shell; a saída será retornada (isto é, ela não
será simplesmente descarregada para a saída; ela pode ser
atribuída a uma variável).
– A utilização do operador contra-apóstrofo é idêntica a
função shell_exec().
Iniciando com PHP
26/03/2011 50
$output = `dir`;
echo "<pre>$output</pre>";
51. • Operadores
– Lógicos
Iniciando com PHP
26/03/2011 51
!X => verdadeiro se X for falso
X AND Y => verdadeiro se X e Y forem verdadeiros
X OR Y => verdadeiro se X ou Y forem verdadeiros
X XOR Y => verdadeiro se apenas um for verdadeiro
X && Y => verdadeiro se X e Y forem verdadeiros
X || Y => verdadeiro se X ou Y forem verdadeiros
52. • Operadores
– De string
• Há dois operadores de string.
– O primeiro é o operador de concatenação ('.'), que retorna a
concatenação dos seus argumentos direito e esquerdo.
– O segundo é o operador de atribuição de concatenação ('.='), que
acrescenta o argumento do lado direito no argumento do lado esquerdo.
Veja em Operadores de Atribuição para mais informações.
Iniciando com PHP
26/03/2011 52
<?php
$a = "Olá ";
$b = $a . "mundo!"; // agora $b contém "Olá mundo!"
$c = "Olá ";
$c .= "mundo!"; // agora $a contém "Olá mundo!"
echo $a;
53. • Operadores
– Um exercício simples
• Quais são os valores das variáveis $a, $b, $c, $x, $y e $z após a
execução do seguinte programa?
Iniciando com PHP
26/03/2011 53
<?php
$a = 2;
$b = 4;
$c = 6;
$x = --$c + $b;
$y = $b++ + $a;
$z = $a - $b--;