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/>');
?>
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/>';
}
?>
21. 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
22. 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;
?>
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 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;
?>
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 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/>";
}
?>
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
43. 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.
45. 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:
53. 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.
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;
?>
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
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
63. 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.
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;
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 ú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>
71. 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'];
?>