linguagem php
Post on 29-Jun-2015
2.648 Views
Preview:
DESCRIPTION
TRANSCRIPT
Linguagem PHP Bruno Cunha
Paulo Alves
Computação – 6º Período
Conceitos e Paradigmas de Linguagens de Programação
O que é PHP?
O PHP: Hypertext Preprocessor
O Linguagem de Scripting fracamente tipada
O Interpretada em tempo de execução
O Procedural e Orientada a Objetos
O Normalmente utilizada para criar
aplicações web
2
O que é PHP?
O Portabilidade
O Sistemas Operacionais
O Windows
O AS/400
O Mac OS X
O Novell NetWare
O OS/2
O Não disponível para Linux
O Compilar o código-fonte ou
O Pegar o interpretador compilado no site da distro
3
O RISC OS
O SGI IRIX 6.5.x
O Solaris (SPARC, INTEL)
O Solaris OpenCSW packages
O Redhat/CentOS Binaries
Como Funciona o PHP?
4
Cliente Servidor
Requisição
Servidor Web Documento HTML
Arquivo PHP
Interpretador PHP
Base de Dados Serviço de E-Mail
...
Interação
Como Funciona o PHP?
5
Cliente Servidor
Requisição
Servidor Web Documento HTML
Arquivo PHP
Interpretador PHP
Base de Dados Serviço de E-Mail
...
Interação
Linha de Comando
6
Quem usa PHP?
O Wikipedia
O Yahoo!
O Facebook
O Oracle
O Twitter
O Wordpress
O Netbeans
O Eclipse
O + outros 20 milhões de domínios
7 Fonte: Netcraft (http://www.netcraft.com/Survey/)
Breve história do PHP
O Personal Home Page / Forms Interpreter
O Criada por Rasmus Lerdorf
O PHP/FI 1.0 liberada em 1995
O PHP/FI 2.0 liberada em 1997
O PHP: Hypertext Preprocessor
O Criada por Andi Gutmans e Zeev Suraski
O PHP 3.0 liberada em 1998
O PHP 4.4 liberada em 2005
8
Breve história do PHP
O PHP: Hypertext Preprocessor 5
O Novo modelo de objetos
O PHP 5.0 liberada em 2004
O PHP 5.3 liberada em 2009
O PHP: Hypertext Preprocessor 5.3.3
O Versão Atual
O Liberada em Julho de 2010
9
Sintaxe Usando a linguagem PHP
10
Atribuição de Variável
<?php
$hello = „Hello World‟;
echo $hello;
?>
Saída:
Hello World!
Tipos de Dados
O Primitivos
O Valores lógicos
O TRUE, FALSE
O Números inteiros
O 2
O 0x12
O Números com ponto flutuante
O 4.5
O 7E – 10
O Cadeias de caracteres
O “Olá, $nome”
O „Olá, $nome‟
12
Tipos de Dados
O Compostos
O Arrays
O Vetor multidimensional abstrato, através do
qual se pode construir listas, filas, pilhas,
dicionários e outras construções similares
O Objetos
O Variável de um tipo de dados criado pelo
usuário que pode conter múltiplos atributos,
definida através de um método construtor.
13
Tipos de Dados
O Especiais
O Resource
O existente a partir da versão 4 da linguagem, usada para referenciar recursos externos: bases de dados, arquivos, sockets...
O Null
O objeto nulo, atribuido a toda variável apagada, não carregada ou após uma atribuição da constante null
O Mixed
O usado em declarações de protótipos, determinando que mais de um tipo de retorno é esperado ou mais de um tipo de parâmetro pode ser usado
14
Manipulação de Tipos
O Tipagem dinâmica O Tipo não é declarado
O Fracamente tipada O Conversão de tipos implícita
<?php
$foo = "0"; // $foo é string
$foo += 2; // $foo é agora um inteiro
$foo = $foo + 1.3; // $foo é agora um float
$foo = 5 + "10 pequenos porcos"; // $foo é inteiro
$foo = 5 + "10 minúsculos porcos"; // $foo é inteiro
?>
15
Identificadores
O Variáveis O Sempre antecedido pelo símbolo “$”.
O Constantes O São declaradas pela função “define” ou palavra
reservada “const”.
O São referenciadas sem o “$”.
<?php
define(“PI”, 3.1415); // normal
const RAIO = 35; // > PHP 5.3
$circunferencia = 2 * PI * RAIO;
?>
16
Variáveis Variáveis
O Variáveis com capacidade para guardar o nome de outras variáveis.
<?php
$a = „ola‟;
$$a = „ mundo‟;
//$$a é o mesmo que escrever $ola.
echo ($a.$ola); // olamundo
echo ($a.$$a); // olamundo
?>
17
Arrays (Vetores)
Índice Automático Índice Explícito
18
<?php
$foo[] = 'bar'; // [0] => bar
$foo[] = 'baz'; // [1] => baz
$foo = array(
'bar', // [0] => bar
'baz', // [1] => baz
);
?>
<?php
$foo[0] = 'bar'; // [0] => bar
$foo[1] = 'baz'; // [1] => baz
$foo = array(
0 => 'bar', // [0] => bar
1 => 'baz', // [1] => baz
);
?>
<?php
$tab = array (4=> 1, 2, 3, 9=> 4,5,6,7); echo $tab[0]; // produz erro echo $tab[4]; // imprime 1
echo $tab[5]; // imprime 2 ?>
<?php
$tab = array (“b”=>1, “a”=2, 3, 4); echo $tab[“a”]; // imprime 2 echo $tab[0]; // imprime 3
echo $tab[2]; // produz erro ?>
<?php
$tab = array (1, array (2,3)); echo $tab[1][0]; // imprime 2 echo $tab[0]; // imprime 1
echo $tab[0][0]; // produz erro ?>
Comparação
• Equivalência <?php
if (2 == 3) { echo „Não‟; }
if (3 == '3') { echo „Sim‟; }
if (2 != 3) { echo „Sim‟; }
?>
• Identidade <?php
if (3 === '3') { echo „Não‟; }
if (3 === 3) { echo „Sim‟; }
if (3 !== 4) { echo „Sim‟; }
?>
Interpolação em Strings
Aspas Simples Aspas Duplas
21
<?php
$x = 2;
echo „Comi $x cookies.‟;
// Comi $x cookies.
?>
<?php
$x = 2;
echo “Comi $x cookies.”;
echo “Comi {$x} cookies. ”;
// Comi 2 cookies.
?>
Estruturas de controle
O Condicionais O if, else, ifelse / if else, switch
O Iteradores O while, for, do while e foreach
O Foreach <?php
$lista = array(0, 1, 2, 3, 4); foreach ($lista as $item) {echo $item;}
foreach ($lista as $chave => $valor) {
echo “Item {$chave}: {$valor}”;
}
?>
22
Classes e Objetos <?php class Foo
{
public static $meu_estatico = 'foo';
private $nao_estatica = 'bar';
public static function umMetodoEstatico()
{ echo $this->nao_estatica; }
public function valorEstatico()
{ return self::$meu_estatico; } } Foo::umMetodoEstatico();
$objeto = new Foo(); echo $objeto->valorEstatico(); ?>
23
Classes e Objetos <?php class Foo
{
public static $meu_estatico = 'foo';
private $nao_estatica = 'bar';
public static function umMetodoEstatico()
{ echo $this->nao_estatica; }
public function valorEstatico()
{ return self::$meu_estatico; } } Foo::umMetodoEstatico();
$objeto = new Foo(); echo $objeto->valorEstatico(); ?>
24
Uso de seta “->” para acessar
propriedades e métodos
Todo método/função é
declarado com “function”
Operador “::” para acesso a
métodos ou propriedades estáticas e constantes de uma classe.
O Passagem por Referência
<?php
function soma ($n)
{ $soma=0;
for ($i=1; $i <= $n; $i++) $soma += $i;
return $soma;
}
?>
<?php
function soma (&$n)
{ $soma=0;
for ($i=1; $i <= $n; $i++) $soma += $i;
return $soma;
}
?>
O Passagem por Valor
<?php
function gostoDe ($bebida, $outra=„leite‟)
{
return “Gosto de {$bebida} com {$outra}.”;
}
echo gostoDe(„café‟);
// Gosto de café com leite.
echo gostoDe(„vodka‟, „sprite‟);
// Gosto de vodka com sprite.
?>
O Passagem por Omissão
Extensões
O Filesystem O $arquivo = file_get_contents(„arquivo.txt‟);
O file_ put_ contents(„arquivo.txt‟, $dados);
O Processamento de Imagem (GD)
O E-Mail (Mail)
O Data e Hora
O Manipulação de Arrays
O Expressão Regular (POSIX Extended)
26
Bancos de Dados Suportados
27
O Adabas D
O dBase
O Empress
O FilePro (read-only)
O Hyperwave
O IBM DB2
O Informix
O Ingres
O InterBase
O FrontBase
O mSQL
O Direct MS-SQL
O MySQL
O ODBC
O Oracle (OCI7 and OCI8)
O Ovrimos
O PostgreSQL
O SQLite
O Solid
O Sybase
O Velocis
O Unix dbm
Projetos
O PHP-GTK
O Criação de interfaces gráficas para o PHP
O Roadsend PHP
O Compilador de PHP para binário
O Phalanger
O Compilador de PHP para Byte-Codes
O Quercus
O Permite executar PHP em Java
O HipHop
O Tradutor de código-fonte PHP para C++
28
Observações Finais
O PHP não suporta Threads.
O Programador não é obrigado a tratar
excessões.
O PHP não gera somente HTML, é possível
criar também PDF, imagens, animações
em Flash, XML, etc.
O PHP tem suporte a comunicação com a
maioria dos protocolos: POP3, COM,
NNTP, IMAP, SNMP e incontáveis outros.
29
30
Interface com PHP-GTK
31
Perguntas? 32
top related