Programação para WEB
Regis Pires Magalhães
regispiresmag@gmail.com
PHP: Primeiros
Passos
“Olá, Mundo” em PHP
<html>
<head>
<title>Exemplo</title>
</head>
<body>
<?php
echo "Olá, Mundo!";
?>
</body>
</html>
Informações sobre o PHP
<?php
phpinfo();
?>
Delimitadores de Código
O código deve estar contido entre os
delimitadores:
<?php
// ...
?>
Comentários
De linha:
De bloco:
<?php
// echo "a";
# echo "a";
?>
<?php
/* echo "a";
echo "b"; */
?>
Comandos de Saída
echo – Exibe uma ou mais Strings
void echo ( string $arg1 [, string $...] )
Sem parênteses: pode ter vários parâmetros
Com parênteses: somente um parâmetro
<?php
echo 'a', 'b', 'c', '<br/>';
echo('a<br/>');
?>
Comandos de Saída
print – Mostra uma string
int print ( string $arg )
Só permite um único parâmetro
Com ou sem parênteses
Retorna sempre 1
<?php
print 'a<br/>';
print('a<br/>');
?>
Comandos de saída
Concatenação de strings
<?php
echo 'a', 'b', 'c', '<br/>';
echo 'a' . 'b' . 'c' . '<br/>';
echo('a' . 'b' . 'c' . '<br/>');
print 'a' . 'b' . 'c' . '<br/>';
print('a' . 'b' . 'c' . '<br/>');
?>
Variáveis
Sempre precedidas de $
Case sensitive: $nome != $Nome
<?php
$nome = "João";
$sobrenome = "da Silva";
echo 'Sobrenome: $sobrenome - Nome: $nome<br/>';
echo 'Sobrenome: ' . $sobrenome . ' - Nome: ' . $nome . '<br/>';
echo "Sobrenome: $sobrenome - Nome: $nome<br/>";
echo "Nome Completo: $nome $sobrenome<br/>";
?>
Variáveis
<?php
$a = 10;
$A = 20;
echo "O valor de $a é $a e o de $A é $A";
?>
Variáveis
<?php
$a = 5;
$b = $a;
$b = 10;
echo $a; // ???
echo $b; // ???
?>
Variáveis
<?php
$a = 5;
$b = &$a;
$b = 10;
echo $a; // ???
echo $b; // ???
?>
Variáveis
<html>
<head>
<title>CEFET-PI PHB</title>
</head>
<body>
<?php
$data_de_hoje = date ("d/m/Y H:i:s",time());
?>
<p>Data e hora no servidor:
<?php echo $data_de_hoje; ?></p>
</body>
</html>
Variáveis
<html>
<head>
<title>CEFET-PI PHB</title>
</head>
<body>
<?php
$base = 10;
$altura = 20;
$area = $base * $altura;
echo "Base: $base - Altura: $altura - Área: $area";
?>
</body>
</html>
Variáveis
<?php
$a = 'PHP';
echo $a;
unset($a);
echo $a;
?>
unset – destrói a variável especificada.
Valor e Referência
<?php
$p1 = 'João';
$p2 = $p1;
$p1 = 'Maria';
echo "$p1<br/>";
echo "$p2<br/>";
?>
<?php
$p1 = 'João';
$p2 = &$p1;
$p1 = 'Maria';
echo "$p1<br/>";
echo "$p2<br/>";
?>
Variáveis Geradas Dinamicamente
$$ - permite utilizar o valor de uma variável para
servir como identificador para outra que é
criada.
<?php
$nome = "João";
$futuro_identificador = "autor";
$$futuro_identificador = $nome;
echo "O nome do autor é ";
echo $autor;
?>
Saída de dados
print_r – exibe informações sobre uma variável
var_dump - Mostra informações mais detalhadas sobre
a variável, inclusive sobre tipos.
<?php
$a = array ('a' => 'abacaxi', 'b' => 'banana',
'c' => array ('x', 'y', 'z'));
print_r ($a);
?>
<?php
$a = array (1, 2, array ("a", "b", "c"));
var_dump ($a);
$b = 3.1;
$c = TRUE;
var_dump($b,$c);
?>
Tipo Booleano
<?php
$exibir_nome = TRUE;
if ($exibir_nome) {
echo 'José da Silva<br/>';
}
$exibir_nome = false;
if ($exibir_nome) {
echo 'Maria da Silva<br/>';
}
?>
Tipo Booleano
<?php
$umidade = 91;
$vai_chover = ($umidade > 90);
if ($vai_chover) {
echo 'Está chovendo';
}
?>
Tipo Booleano
Valores considerados falsos:
Inteiro 0
Ponto flutuante 0.0
Uma string vazia "" ou "0"
Um array vazio
Um objeto sem elementos
Tipo NULL
Tipos Numéricos
<?php
// número decimal
$a = 1234;
// um número negativo
$a = -123;
// número octal (83 em decimal)
$a = 0123;
// número hexadecimal (26 em decimal)
$a = 0x1A;
// ponto flutuante
$a = 1.234;
// notação científica
$a = 4e23;
?>
Tipos Numéricos
<?php
$a = 0x1A; // 26 em decimal
$b = -16;
$c = $a + $b;
echo "$a + $b = $c"
?>
Tipos Numéricos - Operações
<?php
$x = 10;
echo($x + 5);
echo "<br/>";
echo($x - 5);
echo "<br/>";
echo($x * 5);
echo "<br/>";
echo($x / 5);
echo "<br/>";
echo($x % 8);
?>
Operadores relacionais
<, >, <=, >=, ==, !=, ===
=== (idêntico a)
Verdadeiro se os operandos forem iguais e do
mesmo tipo.
Tipos numéricos
Funções:
floor
ceil
round
abs
min
max
rand / mt_rand (melhorado)
mt_rand
<?php
echo mt_rand() . " ";
echo mt_rand() . " ";
echo mt_rand(5, 15);
?>
Tipo String
<?php
$a = 'teste';
$b = 1;
echo 'Isto é um $a $b<br/>';
echo "Isto é um $a $b<br/>";
?>
Tipo String
<?php
$a = 'Programação para Web';
echo $a,'<br/>';
echo 'Tamanho: '.strlen($a),'<br/>';
echo 'Caixa Alta: '.strtoupper($a),'<br/>';
echo 'Número: '.str_pad('57',6,'0',STR_PAD_LEFT);
?>
str_pad
preenche uma string com outra string.
Tipo String
Heredoc
Outra maneira para delimitar strings é utilizando a
sintaxe heredoc ("<<<").
<?php
$nome = "Maria";
$str = <<<FIM
Oi, $nome. Este é um exemplo de uma<br/>
string distribuída em várias linhas<br/>
utilizando a sintaxe heredoc.
FIM;
echo $str;
?>
Tipo String
Formatação de Números
number_format
string number_format (float $numero [, int $decimais])
string number_format(float $numero, int $decimais, string
$ponto_decimal, string $separador_milhares)
<?php
$numero = 1234.56;
// Notação Brasileira
$numero_formatado = number_format($numero, 2, ',', '.');
// 1.234,56
echo "Número Formatado: $numero_formatado<br/>";
?>
Tipo String
Algumas funções:
strlen – tamanho
strpos
strcmp
strcasecmp – case insensitive
strstr / stristr (case insensitive)
strchr
substr
chop ou rtrim
ltrim
trim
str_replace
substr_replace
strtolower
strtoupper
ucfirst
ucwords
strrev
str_pad
preg_split
number_format
Tipo Array
<?php
$carros = array('Palio', 'Corsa', 'Gol');
echo $carros[1];
?>
<?php
$carros[] = 'Palio';
$carros[] = 'Corsa';
$carros[] = 'Gol';
echo $carros[1];
?>
ou
Tipo Array (Associativo)
<?php
$estados = array(
'PI' => 'Teresina',
'CE' => 'Fortaleza',
'MA' => 'São Luís');
echo "$estados[PI]<br/>";
echo "{$estados['CE']}<br/>";
echo "$estados[MA]<br/>";
?>
Tipo Array
<?php
$vetor = array (10,50,100,150,200);
echo "$vetor[2] <br/>";
$vet = array (1, 2, 3, 'nome'=>'Joaquim');
echo "$vet[0] <br/>";
echo $vet['nome'];
?>
Tipo Array
<?php
$est = array('Ceará' => 'Fortaleza',
'Piauí' => 'Teresina');
echo "A capital do Piauí é $est[Piauí].<br/>";
echo "A capital do Piauí é {$est['Piauí']}.<br/>";
echo "A capital do Piauí é {$est[Piauí]}.<br/>";
echo "A capital do Piauí é " . $est['Piauí'] . ".<br/>";
?>
Uso de chaves em Strings
Dividindo uma String em Array
<?php
$str = ' Esta é a minha casa2. ';
$str .= ' Oi, ela é muito bem dividida!!! ';
$array = preg_split('/[W]+/', $str, -1,
PREG_SPLIT_NO_EMPTY);
$tamanho = count($array);
echo "Número de palavras: $tamanho<br/>";
echo "Palavras: <br/>";
foreach($array as $palavra) {
echo "$palavra<br/>";
}
?>
Tipo Array
Funções:
array
is_array
count / sizeof
in_array
IsSet($array[$key])
unset -> remover elementos
current ou pos
next
prev
reset
end
each
max
array_flip
array_reverse
shuffle
array_pad
array_slice – extrai parte do array
array_splice – remove e subst. parte do
array.
asort – ordena e mantém assoc.
arsort
ksort
krsort
sort – ordena um array
rsort
uasort
aksort
usort
Laço - foreach
<?php
$vetor = array('banana','laranja','abacaxi','caju');
foreach ($vetor as $item) {
echo "$item <br/>";
}
?>
Escopo de variáveis
<?php
$num = 5000;
function testa_escopo1() {
$num += 5;
echo "$num <br/>";
}
echo "$num <br/>";
testa_escopo1();
?>
Escopo de variáveis
<?php
$num = 5000;
function testa_escopo1() {
global $num;
$num += 5;
echo "$num <br/>";
}
echo "$num <br/>";
testa_escopo1();
?>
Escopo de variáveis
<?php
function soma($a) {
global $b;
$b = $a + 5;
}
soma(10);
echo "o valor de 'b' é $b";
?>
Constantes
Valores predefinidos que não mudam ao
longo da execução.
A função define serve para definir uma
constante.
bool define(string $name, mixed $value [,bool $case_insensitive])
O nome da constante é dado pelo parâmetro $name; o valor
é dado por $value.
Se o terceiro parâmetro ($case_insensitive) for TRUE, a
constante será definida como case-insensitive. O padrão é
case-sensitive.
Constantes
<?php
define('CONSTANTE', 'Alô Mundo.');
echo CONSTANTE . '<br/>';
echo Constante . '<br/>';
define('SAUDACAO', 'Alô Você.',TRUE);
echo SAUDACAO . '<br/>';
echo Saudacao . '<br/>';
?>
Constantes
CONSTANTE DESCRIÇÃO
TRUE Valor verdadeiro (utilizado para comparação).
FALSE Valor falso.
__FILE__ Contém o nome do script que está sendo executado.
__LINE__ Contém o número da linha do script que está sendo executado.
PHP_VERSION Contém a versão corrente do PHP.
PHP_OS Nome do sistema operacional no qual o PHP está rodando.
E_ERROR Exibe um erro ocorrido em um script. A execução é interrompida.
E_WARNING Exibe uma mensagem de aviso do PHP. A execução não pára.
E_PARSE Exibe um erro de sintaxe. A execução é interrompida.
E_NOTICE Mostra que ocorreu algo, não necessariamente um erro.
A execução não pára.
Algumas constantes predefinidas:
Constantes
<?php
echo 'Arquivo: ' . __FILE__ . '<br/>';
echo 'Linha: ' . __LINE__ . '<br/>';
echo 'Versão do PHP: ' . PHP_VERSION . '<br/>';
echo 'Sistema Operacional: ' . PHP_OS . '<br/>';
?>
Desvio
<?php
$a = True;
if ($a) {
echo 'Verdadeiro';
} else {
echo 'Falso';
}
?>
Desvio
<?php
$idade = 15;
if ($idade < 18) {
echo 'Não pode entrar';
} else {
echo 'Pode entrar';
}
?>
Desvio
<?php
$d = getdate();
switch ($d['wday']) {
case 0:
$dia = 'Domingo'; break;
case 1:
$dia = 'Segunda'; break;
case 2:
$dia = 'Terça'; break;
case 3:
$dia = 'Quarta'; break;
case 4:
$dia = 'Quinta'; break;
case 5:
$dia = 'Sexta'; break;
case 6:
$dia = 'Sábado'; break;
default:
$dia = 'Erro';
}
echo "Hoje é $dia";
?>
Laço contado
<?php
echo 'Números ímpares de 1 a 100: <br/>';
for ($i = 1; $i < 100; $i += 2) {
echo "$i ";
}
?>
Laço condicional
<?php
echo 'Números entre 1 e 10: <br/>';
$i = 1;
while($i <= 10) {
echo "$i ";
$i++;
}
?>
Laço condicional
<?php
echo 'Números entre 1 e 10: <br/>';
$i = 1;
do {
echo "$i ";
$i++;
} while($i <= 10)
?>
Sintaxe alternativa
 Existe uma sintaxe alternativa para algumas
estruturas de controle:
 if, while, for, foreach e switch.
 A forma básica é mudar o sinal de abertura de bloco
para dois-pontos (:) e o sinal de fechamento para
endif;, endwhile;, endfor;, endforeach; ou
endswitch;, respectivamente.
Sintaxe alternativa
<?php
if ($a == 5):
echo "a igual a 5";
echo "...";
elseif ($a == 6):
echo "a igual a 6";
echo "!!!";
else:
echo "a não é nem 5 nem 6";
endif;
?>
Sintaxe alternativa
...
<ul>
<?php foreach($valores as $elemento): ?>
<li><?= $elemento ?></li>
<?php endforeach; ?>
</ul>
...
Função
<?php
function media($a, $b) {
return ($a + $b) / 2;
}
echo 'A média entre 2 e 7 é: ' . media(2,7);
?>
Função
<?php
function area_circulo($raio) {
return M_PI * pow($raio, 2);
}
$meuRaio = 5;
$area = area_circulo($meuRaio);
echo "Raio: $meuRaio<br/>";
echo "Área: $area<br/>";
?>
Função
<?php
function escreve_texto() {
echo 'Já sei criar funções em PHP';
}
escreve_texto();
?>
Função
 O caracter '@' poder ser usado imediatamente antes do
nome da função para suprimir possíveis mensagens de
erro.
<?php
funcao_inexistente();
?>
<?php
@funcao_inexistente();
?>
include ou require
 Ambos incluem e avaliam o arquivo informado.
 A ausência do arquivo especificado no require,
interrompe o processamento e produz um Fatal
Error.
include_once ou require_once
 Similar a include e require, mas se o arquivo
já tiver sido incluído, a inclusão não será feita
novamente.
Dados entre páginas
HTTP não possui estado
Cada requisição é única e não sabe nada sobre as
demais.
Não tem memória.
Cada requisição resulta na execução de um processo
que é finalizado logo após sua execução.
Para uma página mandar informações para uma outra
há as seguintes opções:
Formulários HTML
Cookies
Sessões
Dados entre páginas
A técnica mais simples de passar dados entre páginas
usa os métodos GET e POST do protocolo HTTP.
GET – dados são transmitidos na própria URL.
Vantagem: pode ser adicionado aos favoritos.
Exemplo: pesquisa no Google...
http://www.google.com.br/search?hl=pt-BR&q=cefet&btnG=Pesquisar&meta=
Desvantagens:
Não seguro para informações confidenciais como senha;
Requisições GET ficam gravadas no log do servidor e no histórico do
cliente;
O tamanho da URL é limitado, ficando inviável enviar muita informação
via GET.
Dados entre páginas
GET é muito usado para navegação (links).
POST
POST é a forma ideal de transmitir dados de
formulários;
Vantagens:
Mais seguro que GET, pois a informação não fica tão visível;
Permite a passagem de grande quantidade de dados;
Desvantagens:
Não pode ser adicionado aos favoritos;
Os resultados podem ser perdidos se o usuário navegar pelos
botões voltar e avançar no navegador;
Dados entre páginas
Resumindo:
Usar POST em formulários;
Usar GET para navegação e buscas.
Dados entre páginas - GET
<!-- formulario.php -->
<html>
<head>
<title>PHP Teste</title>
</head>
<body>
<form action="processa.php" method="GET">
Seu nome <input type="text" name="nome" />
Sua idade: <input type="text" name="idade" />
<input type="submit">
</form>
</body>
</html>
Dados entre páginas - GET
<!-- processa.php -->
<html>
<head>
<title>PHP Teste</title>
</head>
<body>
Oi <?php echo $_GET["nome"]; ?>.
Você tem <?php echo $_GET["idade"]; ?> anos.
</body>
</html>
Dados entre páginas - POST
<!-- formulario.php -->
<html>
<head>
<title>PHP Teste</title>
</head>
<body>
<form action="processa.php" method="POST">
Seu nome <input type="text" name="nome" />
Sua idade: <input type="text" name="idade" />
<input type="submit">
</form>
</body>
</html>
Dados entre páginas - POST
<!-- processa.php -->
<html>
<head>
<title>PHP Teste</title>
</head>
<body>
Oi <?php echo $_POST["nome"]; ?>.
Você tem <?php echo $_POST["idade"]; ?> anos.
</body>
</html>
Usando uma única página
<html>
<head><title>CEFET-PI PHB</title></head>
<body>
<form action="nome_idade.php" method="POST">
<p>Seu nome <input type="text" name="nome"
value="<?php echo $_POST['nome'] ?>"/></p>
<p>Sua idade: <input type="text" name="idade"
value="<?php echo $_POST['idade'] ?>"/></p>
<input type="submit">
</form>
<?php
if (isset($_POST['nome'])) {
echo "Oi, {$_POST['nome']}.";
echo "Você tem {$_POST['idade']} anos.";
}
?>
</body>
</html>
Dados entre páginas
_REQUEST
Contém um array associativo com os conteúdos de
$_GET, $_POST e $_COOKIE.
<form action="foo.php" method="post">
Nome: <input type="text" name="username" /><br />
Email: <input type="text" name="email" /><br />
<input type="submit" name="submit" value="Me aperte!" />
</form>
<?php
echo $_POST['username'];
echo $_REQUEST['username'];
?>
Variáveis HTTP
$_SERVER
$_ENV
$_COOKIE
$_GET
$_POST
$_FILES
$_REQUEST
$_SESSION
$GLOBALS
$HTTP_RAW_POST_DATA
$http_response_header

Prog web 02-php-primeiros-passos

  • 1.
    Programação para WEB RegisPires Magalhães regispiresmag@gmail.com PHP: Primeiros Passos
  • 2.
    “Olá, Mundo” emPHP <html> <head> <title>Exemplo</title> </head> <body> <?php echo "Olá, Mundo!"; ?> </body> </html>
  • 3.
    Informações sobre oPHP <?php phpinfo(); ?>
  • 4.
    Delimitadores de Código Ocódigo deve estar contido entre os delimitadores: <?php // ... ?>
  • 5.
    Comentários De linha: De bloco: <?php //echo "a"; # echo "a"; ?> <?php /* echo "a"; echo "b"; */ ?>
  • 6.
    Comandos de Saída echo– Exibe uma ou mais Strings void echo ( string $arg1 [, string $...] ) Sem parênteses: pode ter vários parâmetros Com parênteses: somente um parâmetro <?php echo 'a', 'b', 'c', '<br/>'; echo('a<br/>'); ?>
  • 7.
    Comandos de Saída print– Mostra uma string int print ( string $arg ) Só permite um único parâmetro Com ou sem parênteses Retorna sempre 1 <?php print 'a<br/>'; print('a<br/>'); ?>
  • 8.
    Comandos de saída Concatenaçãode strings <?php echo 'a', 'b', 'c', '<br/>'; echo 'a' . 'b' . 'c' . '<br/>'; echo('a' . 'b' . 'c' . '<br/>'); print 'a' . 'b' . 'c' . '<br/>'; print('a' . 'b' . 'c' . '<br/>'); ?>
  • 9.
    Variáveis Sempre precedidas de$ Case sensitive: $nome != $Nome <?php $nome = "João"; $sobrenome = "da Silva"; echo 'Sobrenome: $sobrenome - Nome: $nome<br/>'; echo 'Sobrenome: ' . $sobrenome . ' - Nome: ' . $nome . '<br/>'; echo "Sobrenome: $sobrenome - Nome: $nome<br/>"; echo "Nome Completo: $nome $sobrenome<br/>"; ?>
  • 10.
    Variáveis <?php $a = 10; $A= 20; echo "O valor de $a é $a e o de $A é $A"; ?>
  • 11.
    Variáveis <?php $a = 5; $b= $a; $b = 10; echo $a; // ??? echo $b; // ??? ?>
  • 12.
    Variáveis <?php $a = 5; $b= &$a; $b = 10; echo $a; // ??? echo $b; // ??? ?>
  • 13.
    Variáveis <html> <head> <title>CEFET-PI PHB</title> </head> <body> <?php $data_de_hoje =date ("d/m/Y H:i:s",time()); ?> <p>Data e hora no servidor: <?php echo $data_de_hoje; ?></p> </body> </html>
  • 14.
    Variáveis <html> <head> <title>CEFET-PI PHB</title> </head> <body> <?php $base =10; $altura = 20; $area = $base * $altura; echo "Base: $base - Altura: $altura - Área: $area"; ?> </body> </html>
  • 15.
    Variáveis <?php $a = 'PHP'; echo$a; unset($a); echo $a; ?> unset – destrói a variável especificada.
  • 16.
    Valor e Referência <?php $p1= 'João'; $p2 = $p1; $p1 = 'Maria'; echo "$p1<br/>"; echo "$p2<br/>"; ?> <?php $p1 = 'João'; $p2 = &$p1; $p1 = 'Maria'; echo "$p1<br/>"; echo "$p2<br/>"; ?>
  • 17.
    Variáveis Geradas Dinamicamente $$- permite utilizar o valor de uma variável para servir como identificador para outra que é criada. <?php $nome = "João"; $futuro_identificador = "autor"; $$futuro_identificador = $nome; echo "O nome do autor é "; echo $autor; ?>
  • 18.
    Saída de dados print_r– exibe informações sobre uma variável var_dump - Mostra informações mais detalhadas sobre a variável, inclusive sobre tipos. <?php $a = array ('a' => 'abacaxi', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); print_r ($a); ?> <?php $a = array (1, 2, array ("a", "b", "c")); var_dump ($a); $b = 3.1; $c = TRUE; var_dump($b,$c); ?>
  • 19.
    Tipo Booleano <?php $exibir_nome =TRUE; if ($exibir_nome) { echo 'José da Silva<br/>'; } $exibir_nome = false; if ($exibir_nome) { echo 'Maria da Silva<br/>'; } ?>
  • 20.
    Tipo Booleano <?php $umidade =91; $vai_chover = ($umidade > 90); if ($vai_chover) { echo 'Está chovendo'; } ?>
  • 21.
    Tipo Booleano Valores consideradosfalsos: Inteiro 0 Ponto flutuante 0.0 Uma string vazia "" ou "0" Um array vazio Um objeto sem elementos Tipo NULL
  • 22.
    Tipos Numéricos <?php // númerodecimal $a = 1234; // um número negativo $a = -123; // número octal (83 em decimal) $a = 0123; // número hexadecimal (26 em decimal) $a = 0x1A; // ponto flutuante $a = 1.234; // notação científica $a = 4e23; ?>
  • 23.
    Tipos Numéricos <?php $a =0x1A; // 26 em decimal $b = -16; $c = $a + $b; echo "$a + $b = $c" ?>
  • 24.
    Tipos Numéricos -Operações <?php $x = 10; echo($x + 5); echo "<br/>"; echo($x - 5); echo "<br/>"; echo($x * 5); echo "<br/>"; echo($x / 5); echo "<br/>"; echo($x % 8); ?>
  • 25.
    Operadores relacionais <, >,<=, >=, ==, !=, === === (idêntico a) Verdadeiro se os operandos forem iguais e do mesmo tipo.
  • 26.
  • 27.
    mt_rand <?php echo mt_rand() ." "; echo mt_rand() . " "; echo mt_rand(5, 15); ?>
  • 28.
    Tipo String <?php $a ='teste'; $b = 1; echo 'Isto é um $a $b<br/>'; echo "Isto é um $a $b<br/>"; ?>
  • 29.
    Tipo String <?php $a ='Programação para Web'; echo $a,'<br/>'; echo 'Tamanho: '.strlen($a),'<br/>'; echo 'Caixa Alta: '.strtoupper($a),'<br/>'; echo 'Número: '.str_pad('57',6,'0',STR_PAD_LEFT); ?> str_pad preenche uma string com outra string.
  • 30.
    Tipo String Heredoc Outra maneirapara delimitar strings é utilizando a sintaxe heredoc ("<<<"). <?php $nome = "Maria"; $str = <<<FIM Oi, $nome. Este é um exemplo de uma<br/> string distribuída em várias linhas<br/> utilizando a sintaxe heredoc. FIM; echo $str; ?>
  • 31.
    Tipo String Formatação deNúmeros number_format string number_format (float $numero [, int $decimais]) string number_format(float $numero, int $decimais, string $ponto_decimal, string $separador_milhares) <?php $numero = 1234.56; // Notação Brasileira $numero_formatado = number_format($numero, 2, ',', '.'); // 1.234,56 echo "Número Formatado: $numero_formatado<br/>"; ?>
  • 32.
    Tipo String Algumas funções: strlen– tamanho strpos strcmp strcasecmp – case insensitive strstr / stristr (case insensitive) strchr substr chop ou rtrim ltrim trim str_replace substr_replace strtolower strtoupper ucfirst ucwords strrev str_pad preg_split number_format
  • 33.
    Tipo Array <?php $carros =array('Palio', 'Corsa', 'Gol'); echo $carros[1]; ?> <?php $carros[] = 'Palio'; $carros[] = 'Corsa'; $carros[] = 'Gol'; echo $carros[1]; ?> ou
  • 34.
    Tipo Array (Associativo) <?php $estados= array( 'PI' => 'Teresina', 'CE' => 'Fortaleza', 'MA' => 'São Luís'); echo "$estados[PI]<br/>"; echo "{$estados['CE']}<br/>"; echo "$estados[MA]<br/>"; ?>
  • 35.
    Tipo Array <?php $vetor =array (10,50,100,150,200); echo "$vetor[2] <br/>"; $vet = array (1, 2, 3, 'nome'=>'Joaquim'); echo "$vet[0] <br/>"; echo $vet['nome']; ?>
  • 36.
    Tipo Array <?php $est =array('Ceará' => 'Fortaleza', 'Piauí' => 'Teresina'); echo "A capital do Piauí é $est[Piauí].<br/>"; echo "A capital do Piauí é {$est['Piauí']}.<br/>"; echo "A capital do Piauí é {$est[Piauí]}.<br/>"; echo "A capital do Piauí é " . $est['Piauí'] . ".<br/>"; ?> Uso de chaves em Strings
  • 37.
    Dividindo uma Stringem Array <?php $str = ' Esta é a minha casa2. '; $str .= ' Oi, ela é muito bem dividida!!! '; $array = preg_split('/[W]+/', $str, -1, PREG_SPLIT_NO_EMPTY); $tamanho = count($array); echo "Número de palavras: $tamanho<br/>"; echo "Palavras: <br/>"; foreach($array as $palavra) { echo "$palavra<br/>"; } ?>
  • 38.
    Tipo Array Funções: array is_array count /sizeof in_array IsSet($array[$key]) unset -> remover elementos current ou pos next prev reset end each max array_flip array_reverse shuffle array_pad array_slice – extrai parte do array array_splice – remove e subst. parte do array. asort – ordena e mantém assoc. arsort ksort krsort sort – ordena um array rsort uasort aksort usort
  • 39.
    Laço - foreach <?php $vetor= array('banana','laranja','abacaxi','caju'); foreach ($vetor as $item) { echo "$item <br/>"; } ?>
  • 40.
    Escopo de variáveis <?php $num= 5000; function testa_escopo1() { $num += 5; echo "$num <br/>"; } echo "$num <br/>"; testa_escopo1(); ?>
  • 41.
    Escopo de variáveis <?php $num= 5000; function testa_escopo1() { global $num; $num += 5; echo "$num <br/>"; } echo "$num <br/>"; testa_escopo1(); ?>
  • 42.
    Escopo de variáveis <?php functionsoma($a) { global $b; $b = $a + 5; } soma(10); echo "o valor de 'b' é $b"; ?>
  • 43.
    Constantes Valores predefinidos quenão mudam ao longo da execução. A função define serve para definir uma constante. bool define(string $name, mixed $value [,bool $case_insensitive]) O nome da constante é dado pelo parâmetro $name; o valor é dado por $value. Se o terceiro parâmetro ($case_insensitive) for TRUE, a constante será definida como case-insensitive. O padrão é case-sensitive.
  • 44.
    Constantes <?php define('CONSTANTE', 'Alô Mundo.'); echoCONSTANTE . '<br/>'; echo Constante . '<br/>'; define('SAUDACAO', 'Alô Você.',TRUE); echo SAUDACAO . '<br/>'; echo Saudacao . '<br/>'; ?>
  • 45.
    Constantes CONSTANTE DESCRIÇÃO TRUE Valorverdadeiro (utilizado para comparação). FALSE Valor falso. __FILE__ Contém o nome do script que está sendo executado. __LINE__ Contém o número da linha do script que está sendo executado. PHP_VERSION Contém a versão corrente do PHP. PHP_OS Nome do sistema operacional no qual o PHP está rodando. E_ERROR Exibe um erro ocorrido em um script. A execução é interrompida. E_WARNING Exibe uma mensagem de aviso do PHP. A execução não pára. E_PARSE Exibe um erro de sintaxe. A execução é interrompida. E_NOTICE Mostra que ocorreu algo, não necessariamente um erro. A execução não pára. Algumas constantes predefinidas:
  • 46.
    Constantes <?php echo 'Arquivo: '. __FILE__ . '<br/>'; echo 'Linha: ' . __LINE__ . '<br/>'; echo 'Versão do PHP: ' . PHP_VERSION . '<br/>'; echo 'Sistema Operacional: ' . PHP_OS . '<br/>'; ?>
  • 47.
    Desvio <?php $a = True; if($a) { echo 'Verdadeiro'; } else { echo 'Falso'; } ?>
  • 48.
    Desvio <?php $idade = 15; if($idade < 18) { echo 'Não pode entrar'; } else { echo 'Pode entrar'; } ?>
  • 49.
    Desvio <?php $d = getdate(); switch($d['wday']) { case 0: $dia = 'Domingo'; break; case 1: $dia = 'Segunda'; break; case 2: $dia = 'Terça'; break; case 3: $dia = 'Quarta'; break; case 4: $dia = 'Quinta'; break; case 5: $dia = 'Sexta'; break; case 6: $dia = 'Sábado'; break; default: $dia = 'Erro'; } echo "Hoje é $dia"; ?>
  • 50.
    Laço contado <?php echo 'Númerosímpares de 1 a 100: <br/>'; for ($i = 1; $i < 100; $i += 2) { echo "$i "; } ?>
  • 51.
    Laço condicional <?php echo 'Númerosentre 1 e 10: <br/>'; $i = 1; while($i <= 10) { echo "$i "; $i++; } ?>
  • 52.
    Laço condicional <?php echo 'Númerosentre 1 e 10: <br/>'; $i = 1; do { echo "$i "; $i++; } while($i <= 10) ?>
  • 53.
    Sintaxe alternativa  Existeuma sintaxe alternativa para algumas estruturas de controle:  if, while, for, foreach e switch.  A forma básica é mudar o sinal de abertura de bloco para dois-pontos (:) e o sinal de fechamento para endif;, endwhile;, endfor;, endforeach; ou endswitch;, respectivamente.
  • 54.
    Sintaxe alternativa <?php if ($a== 5): echo "a igual a 5"; echo "..."; elseif ($a == 6): echo "a igual a 6"; echo "!!!"; else: echo "a não é nem 5 nem 6"; endif; ?>
  • 55.
    Sintaxe alternativa ... <ul> <?php foreach($valoresas $elemento): ?> <li><?= $elemento ?></li> <?php endforeach; ?> </ul> ...
  • 56.
    Função <?php function media($a, $b){ return ($a + $b) / 2; } echo 'A média entre 2 e 7 é: ' . media(2,7); ?>
  • 57.
    Função <?php function area_circulo($raio) { returnM_PI * pow($raio, 2); } $meuRaio = 5; $area = area_circulo($meuRaio); echo "Raio: $meuRaio<br/>"; echo "Área: $area<br/>"; ?>
  • 58.
    Função <?php function escreve_texto() { echo'Já sei criar funções em PHP'; } escreve_texto(); ?>
  • 59.
    Função  O caracter'@' poder ser usado imediatamente antes do nome da função para suprimir possíveis mensagens de erro. <?php funcao_inexistente(); ?> <?php @funcao_inexistente(); ?>
  • 60.
    include ou require Ambos incluem e avaliam o arquivo informado.  A ausência do arquivo especificado no require, interrompe o processamento e produz um Fatal Error.
  • 61.
    include_once ou require_once Similar a include e require, mas se o arquivo já tiver sido incluído, a inclusão não será feita novamente.
  • 62.
    Dados entre páginas HTTPnão possui estado Cada requisição é única e não sabe nada sobre as demais. Não tem memória. Cada requisição resulta na execução de um processo que é finalizado logo após sua execução. Para uma página mandar informações para uma outra há as seguintes opções: Formulários HTML Cookies Sessões
  • 63.
    Dados entre páginas Atécnica mais simples de passar dados entre páginas usa os métodos GET e POST do protocolo HTTP. GET – dados são transmitidos na própria URL. Vantagem: pode ser adicionado aos favoritos. Exemplo: pesquisa no Google... http://www.google.com.br/search?hl=pt-BR&q=cefet&btnG=Pesquisar&meta= Desvantagens: Não seguro para informações confidenciais como senha; Requisições GET ficam gravadas no log do servidor e no histórico do cliente; O tamanho da URL é limitado, ficando inviável enviar muita informação via GET.
  • 64.
    Dados entre páginas GETé muito usado para navegação (links). POST POST é a forma ideal de transmitir dados de formulários; Vantagens: Mais seguro que GET, pois a informação não fica tão visível; Permite a passagem de grande quantidade de dados; Desvantagens: Não pode ser adicionado aos favoritos; Os resultados podem ser perdidos se o usuário navegar pelos botões voltar e avançar no navegador;
  • 65.
    Dados entre páginas Resumindo: UsarPOST em formulários; Usar GET para navegação e buscas.
  • 66.
    Dados entre páginas- GET <!-- formulario.php --> <html> <head> <title>PHP Teste</title> </head> <body> <form action="processa.php" method="GET"> Seu nome <input type="text" name="nome" /> Sua idade: <input type="text" name="idade" /> <input type="submit"> </form> </body> </html>
  • 67.
    Dados entre páginas- GET <!-- processa.php --> <html> <head> <title>PHP Teste</title> </head> <body> Oi <?php echo $_GET["nome"]; ?>. Você tem <?php echo $_GET["idade"]; ?> anos. </body> </html>
  • 68.
    Dados entre páginas- POST <!-- formulario.php --> <html> <head> <title>PHP Teste</title> </head> <body> <form action="processa.php" method="POST"> Seu nome <input type="text" name="nome" /> Sua idade: <input type="text" name="idade" /> <input type="submit"> </form> </body> </html>
  • 69.
    Dados entre páginas- POST <!-- processa.php --> <html> <head> <title>PHP Teste</title> </head> <body> Oi <?php echo $_POST["nome"]; ?>. Você tem <?php echo $_POST["idade"]; ?> anos. </body> </html>
  • 70.
    Usando uma únicapágina <html> <head><title>CEFET-PI PHB</title></head> <body> <form action="nome_idade.php" method="POST"> <p>Seu nome <input type="text" name="nome" value="<?php echo $_POST['nome'] ?>"/></p> <p>Sua idade: <input type="text" name="idade" value="<?php echo $_POST['idade'] ?>"/></p> <input type="submit"> </form> <?php if (isset($_POST['nome'])) { echo "Oi, {$_POST['nome']}."; echo "Você tem {$_POST['idade']} anos."; } ?> </body> </html>
  • 71.
    Dados entre páginas _REQUEST Contémum array associativo com os conteúdos de $_GET, $_POST e $_COOKIE. <form action="foo.php" method="post"> Nome: <input type="text" name="username" /><br /> Email: <input type="text" name="email" /><br /> <input type="submit" name="submit" value="Me aperte!" /> </form> <?php echo $_POST['username']; echo $_REQUEST['username']; ?>
  • 72.