PHP
Páginas Estáticas X Páginas de Conteúdo
dinâmico
• Estáticas:
– HTML, CSS, Java Script Simples(validações)
• Conteúdo dinâmico:
Exemplo de página estática
• Criar um documento de texto;
• Renomeá-lo para index.html
• Introduzir o seguinte código:
<html>
<body>
<h1>Olá mundo</h1> <br>
<b>Sou a primeira página<b> <br>
Meu nome é ... ... ...
</body>
Exemplo de página estática organizada por
tabela
Funcionamento PHP+Apache+SGBD
• Para rodarmos páginas php
– Apache: Servidor web;
– PHP: interpretador de códigos php;
– *SGBD: MySql ou MariaDB;
• LOCAL DE ARMAZENAMENTO DO SITE PHP
• Windows: Wamp, EasyPHP, Xampp, etc;
helloWord PHP+HTML
• Introduzir o código abaixo dentro do corpo da
página web, logo a baixo do link para o site da
globo:
<?php
Echo “hello world”;
Características da linguagem PHP
• Delimitador <?php ... ... ?>
• separador de linhas, assim como java é o ponto e virgula
• Comentários, assim como java é
– //
– /* ... ... */
• Tipos de dados Primitivos
– Inteiro
– Ponto flutuante – String
– Array – Objeto
Características da linguagem PHP
• Variáveis:
– Ao utiliza-la, seja em uma declaração ou simples
acesso ao dado introduzido, deve ser colocado um
cifrão antes da mesma $, para que o interpretador
php possa reconhecê-la como variável
– Tipos dinâmicos ou auto declaráveis(são
formalizados assim que recem algum valor de
determinado tipo)
Código exemplo de manipulação de variáveis
<?php
//declaração da variável inteira i, recebendo o val 5
$i = 5;
//declaração da variável inteira j, recebendo o val 2
$j = 2;
//mostra o resultado da soma das duas na tela
//a partirda variável x:
$x = $i +$j;
echo $x;
?>
Definindo tipos à variáveis PHP
• $vivas = 1234; # inteiro positivo na base decimal
• $vivas = -234; # inteiro negativo na base
decimal
• $vivas = 0234; # inteiro na base
octal-simbolizado pelo 0 equivale a 156 decimal
• $vivas = 0x34; # inteiro na base
hexadecimal(simbolizado pelo 0x) – equivale a
52 decimal.
Definindo tipos às variáveis
• Ponto Flutuante (double ou float) Uma variável
pode ter um valor em ponto flutuante com
atribuições que sigam as seguintes sintaxes:
– $vivas = 1.234;
– $vivas = 23e4; # equivale a 230.000
• Strings
Com aspas duplas ou aspas simples,
concatenadas com o ponto como operador.
(Demonstrar exemplo)
Arrays
• Arrays em PHP podem ser observados como
mapeamentos ou como vetores indexados. Mais
precisamente, um valor do tipo array é um dicionário
onde os índices são as chaves de acesso. Vale ressaltar
que os índices podem ser valores de qualquer tipo e não
somente inteiros. Inclusive, se os índices forem todos
inteiros, estes não precisam formar um intervalo
contínuo Como a checagem de tipos em PHP é dinâmica,
valores de tipos diferentes podem ser usados como
índices de array, assim como os valores mapeados
também podem ser de diversos tipos.
Exemplo de atribuição e declaração de um
array
<?
$cor[0] = “amarelo”;
$cor[1] = “vermelho”;
$cor[2] = “verde”;
$cor[3] = “azul”;
$cor[4] = “anil”;
$cor[“teste”] = 1;
?>
Exemplo de atribuição e declaração de um
array(outra representação igual)
<?
$cor = array(
0 => “amarelo”,
1 => “vermelho”,
2 => “verde”,
3 => “azul”,
4 => “anil”,
teste => 1
);
?>
Imprimir vetor
• Imprime diretamente o vetor
var_dump($vetor);
• imprime um vetor cuja as keys sejam inteiras sequenciais
for($i = 0; $i<size($vetor); $i++)
echo $vetor[$i];
• Imprime vetor sem tipo definido
$keys = array_keys($data); //Pega um arrai das keys do vetor
For($i = 0; $i<size($keys); $i++)
foreach
•
http://br.php.net/manual/pt_BR/control-structures.foreach.
php
• Só serve para trabalhar com arrays
• foreach (expressao_array as $valor)
Instrucoes
• foreach (expressao_array as $chave => $valor)
instrucoes
foreach
Foreach simples, percorrendo um vetor e pegando
seu valor e multiplicando por 2
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
foreach
• /* exemplo foreach : chaves e valores */ $a = array ( "um" => 1, "dois" => 2, "três" => 3, "dezessete" => 17 ); foreach ($a as $k => $v) { echo “\$a[$k] => $v.\n"; }
• /* exemplo foreach : arrays multidimensionais */ $a = array(); $a[0][0] = "a"; $a[0][1] = "b"; $a[1][0] = "y"; $a[1][1] = "z"; foreach ($a as $v1) { foreach ($v1 as $v2) { echo "$v2\n"; } }
Funções
• Sintaxe:
function nome_da_função([arg1, arg2, arg3]) {
Comandos;
... ;
[return <valor de retorno>];
}
Funções Exemplo
<php? function imprime($texto) { echo $texto; } //chama a função imprime(“teste de funções”); ?> <? function soma($v1, $v2) { $soma = $v1+$v2; return soma; } ?>Constantes
define ("pi", 3.1415926536);
$circunf = 2 * pi * $raio;
Exercício
• Criar funções que recebam 2 números e some,
multiplique, dividam, subtraiam um valor do
outro e retorne o resultado para que seja
Formulários
<form action="exemplo.php" method="post"> (textos e elementos do form)
</form>
• name: o identificador do formulário. Utilizado principalmente em Scripts client-side (JavaScript);
• action: nome do script que receberá os dados do formulário ao ser submetido;
• method: método de envio dos dados: get ou post;
• enctype: formato em que os dados serão enviados. O default é
urlencoded. Se for utilizado um elemento do tipo upload de arquivo (file) é preciso utilizar o tipo multipart/form-data.
Elementos Formulários
• <input type="text" name="" value="" size=""
maxlength="">
• <input type="password" name="" value=""
size="" maxlength="">
• <input type="checkbox" name="" value=""
checked>
• <input type="radio" name="" value=""
checked>
TextArea
• <textarea cols="" rows="" name="" wrap="">texto</textarea>
• Cols - número de colunas do campo, em caracteres; • Rows - número de linhas do campo, em caracteres;
• Wrap - Maneira como são tratadas as quebras de linha automáticas. O valor sof faz com que o texto “quebre” somente na tela, sendo enviado para o servidor o texto da maneira como foi digitado;
• O valor “hard” faz com que seja enviado para o servidor da maneira como o texto aparece na tela,
• com todas as quebras de linhas inseridas automaticamente; o valor “of” faz com que o texto não
Select
<select name="" size="" multiple>
<option value="">texto</option>
<option value="">texto</option>
<option value="">texto</option>
<option value="">texto</option>
<option value="">texto</option>
<option value="">texto</option>
</select>
Select
Onde:
• Size - número de linhas exibidas. Default: 1;
• Multiple - parâmetro que, se presente, permite que sejam
selecionadas duas ou mais linhas, através das teclas Control ou Shift; • Option - Cada item do tipo “option” acrescenta uma linha ao select; • Value - Valor a ser enviado ao servidor se aquele elemento for
selecionado. Default: o texto do item;
• Texto - valor a ser exibido para aquele item. Não é definido por um parâmetro, mas pelo texto que fica entre as tags <option> e </option> • Se o parâmetro “size” tiver o valor 1 e não houver o parâmetro
“multiple”, exibe na tela uma “combo box”. Caso contrário, exibe na tela uma “select list”.