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.
Bacharel em Ciênciada 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
• 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 quearquivos 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óriado 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 doPHP
– 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 doPHP
– 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 quePHP 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 quevocê 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 HTTPServer
– 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 HTTPServer
– 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 HTTPServer
– 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 HTTPServer
– Total de sites em todos os domínios de Agosto de 1995 a
Agosto de 2010.
Introdução
26/03/2011 13
14.
• Apache HTTPServer
– 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 HTTPServer
– Links oficiais:
• The Apache Software Foundation
• Apache - HTTP Server Project
Introdução
26/03/2011 15
16.
• O ladoCliente
– 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 ladoServidor
– 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
• 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 fazero 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 primeiroscript
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
Iniciandocom 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 */
25.
• Comentários PHPDOC
Iniciando com PHP
26/03/2011 25
/**
* Comentário para PHP DOC
* @author George Henrique
* @example Aula
* @copyright www.georgemendonca.com.br
* @version 1.0
*
*/
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
– Seuuso 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ídascom 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 deVariá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 deVariá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 deVariá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 deVariá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 úteismostrar 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 deTipos
– 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
• Constantes
– Umaconstante é 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 úteispara 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
• 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 SuperGlobais
– 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 SuperGlobais
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
– Arraysem 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
• Operadores
– Comparativos
Iniciandocom 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
• Operadores
– Seo 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
– OPHP 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
Iniciandocom 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
– Destring
• 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
– Umexercí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--;