Introdução à programação de
lado do servidor. O linguagem
PHP.
Conferencia 9
MSc. Yoenis Pantoja Zaldívar
• Arquitetura em três capas.
• PHP
• Estrutura
• Sintaxis (variávels, constantes,
operadores, estruturas de control de fluxo)
• Funções (proprias e de usuario)
• Envío e recepção de dados de formularios.
Resumo
Identificar os princípos da arquitetura em
três capas, para o desenvolvimento de
aplicativos Web robustos e escalávels.
Reconhecer as principais características
do linguagem PHP através de sua
estrutura, sintaxis e elementos para o
procesamento de dados no servidor.
Objectivos
Hernán Ruiz Marcelo,
Programación Web Avanzada,
Capítulo 10.
The PHP Documentation Group,
Manual de PHP. Disponible en: http://progwebisutic.wordpress.com
Bibliografía
Programação do lado do servidor
Aparição dos linguagems script do
servidor.
Linguagems interpretados.
CGIC, Pascal, Fortran, etc.
HTML
Historia
Nível de apresentação: genera a
interfaz de usuario em função das
ações levadas a cabo pela mesma.
Arquitetura de três capas
Nível de negôcio: contém toda a lógica
que modela os processos de negôcio e
donde realiza-se todo o procesamento
necessario para atender à petições do
usuario.
Arquitetura de três capas
Nivel de administración de datos:
encarregado de fazer persistente toda a
informação, suministra e armazena
informação para o nível de negôcio.
Arquitetura de três capas
PHP
“PHP is Hypertext Preprocessor”
Linguagem script que é ejecutado do
lado do servidor na Arquitetura Cliente
– Servidor.
Introdução à PHP
Criado por Rasmus Lerdorf em 1994.
Escrito em o linguagem C.
Sistema para processar formularios.
Soporte à novos protocolos e BD.
PHP5, PHP6 e PHP7.
Popular (5 milhõnes de webs, 800 mil IP)
Por qué PHP?
Baixo costo
http://www.php.net
Facilidade de aprendizagem e uso
Baseado em C e Perl
Portabilidade
Acesso à código aberto
Etiquetas de início e fin
Estilo XML
<?php echo '<p>Procesada.</p>'; ?>Estilo corto
<? echo '<p>Procesada.</p>'; ?>Estilo SCRIPT
<script language='php'> echo
'<p>Procesada. </p>'; </script>Estilo ASP
<% echo '<p>Procesada.</p>'; %>
• Variávels:
Representan-se com uma sinal ($).
Començan com um identificador válido (A-
Z, a-z) ou um underscoard (_)
Não define-se o tipo de dados.
Tem alcance local (mas existen as
superglobales)
Sintaxis
• Exemplo de variávels correitas:
$count, $_Obj, $A123
• Variávels incorreitas:
$123, $*ABC
Sintaxis
• Variávels: “Não tem que definir o tipo”
$Pi = 3.14;
$radio = 5;
$circunferença = $Pi * 2 * $radio;
Sintaxis
$_GET[ ] - variávels do método GET
$_POST[ ] - variávels do método POST
$_REQUEST[ ] – método GET ou POST
$_COOKIE[ ] - cookies do cliente Web
$_SERVER[ ] - valores das variávels do
servidor Web
Variávels superglobales
(Integer) 495, 26, 3 y 81.
(Double) 3.14159 o 49.0.
(Boolean) TRUE y FALSE.
(NULL) .
(String) “cadena” ‘cadena’.
(Array) (1,2,”Cuba”,2.3).
(Object).
(Resources).
Tipos de dados
Não levan o signo $.
Deven ser definidas com define().
Não podem redefinirse com outro
valor durante a ejecução do script.
define(“NOME_CONST”, valor)
Exemplo: define(“PREÇO”, 100);
Constantes
$a < $b $a Menor que $b
$a > $b $a Maior que $b
$a <= $b $a Menor ou igual que $b
$a >= $b $a Maior ou igual que $b
$a == $b $a igual que $b
$a != $b $a distinto que $b
Operadores de comparação
• $a AND $b
• $a && $b verdadeiro se são ambos
• $a OR $b
• $a || $b verdadeiro se ao menos
um é verdadeiro
• $a XOR $b verdadeiro se solo um
dos dois é verdadeiro
• !$a verdadeiro se $a é falso
Operadores lógicos
• $a = $b - Asigna à $a $b
• $a += $b - Suma $a+$b e asigna à $a
• $a - = $b - Resta $a-$b e asigna à $a
• $a * = $b - Multiplica $a * $b
• $a / = $b - Divide $a / $b
• $a .= $b - Adiciona o texto $b à $a
• $a % $b - Resto da divisão enteira
Operadores de asignação
$var++ Post-Incremento
++$var Pre-Incremento
$var- - Post-Decremento
- -$var Pre-Decremento
Operadores de incremento/decremento
• Operador de concatenación: (.)
• Operador silenciador de errores: (@)
• Operador ternario: (?:)
Outros operadores
Sentencia if
if(expresão booleana)
{ bloco de código; }
else
{ bloco de código; }
Estruturas condicionales
Sentencia switch
switch(expresión)
{
case valor1:
/* bloco de código */ break;
case valor2:
/* bloco de código */ break;
default :
/* bloco de código */ break;
}
Estruturas condicionales
for(exp_ini; exp_bool; control_ciclo)
{ /* bloco de código */ }
for($i = 0; $i < 10; $i++)
{
//bloco para fazer 10 veces
}
Estruturas repetitivas
As dois chamadas fazen-se:
nome_função(arg1, arg2, …)
Funções internas
(incorporadas)
Funções definidas
pelo usuario
Funções
A manera geral de definir uma função é:
function name_function(arg1, arg2, …)
{
// corpo
}
Funções de usuario
<?php
function suma($num1, $num2){
$total = $num1 + $num2;
return $total;
}
$valor1 = 6;
$valor2 = 8;
echo “A suma de $valor1 e $valor2 é:
".suma($valor1, $valor2);
?>
Exemplo
Funções internas
Funções de manipulação de strings.
Funções de data e hora.
Funções de arrays.
Funções de ficheros.
Funções de bancos de dados.
Funções matemáticas.
Funções de red.
(consultar Manual de PHP)
• isset(): bool isset(mixed var);
• empty(): boolean empty(mixed var);
• unset(): void unset(mixed var);
Manipulação de variávels
“ Tipo de dados que asocia pares
clave/valor (key/value) ”
• clave (key) - enteros ou textos.
• valor (value) - podem ser de qualquer
tipo dos existentes em PHP,
incluyendo os proprios arrays
Arrays
Arrays
Os arrays declaran-se formalmente
usando a palavra reservada array () e
geralmente escribe-se da seguinte
forma:
array ( clave => valor , ... ) // clave pode ser um integer ou string
// valor pode ser qualquer valor
Array Bidimensional
<?php
$t = array(
“cliente" => array("a" => “xhtml", "b" =>
“css") ,
“servidor” => array("a" => “php”, "b" =>
“postgreSQL”)
);
?>
Arrays e foreach
Forma muito elegante de interactuar com os arrays.
foreach(expresion_array as $value)
//código
foreach(expresion_array as $key => $value)
//código
Outras funções de arrays
count()// Cantidade de elementossort()// Ordena os elementosarray_chunk()// divide o array em partesarray_reverse()// devuelve o array em orden inverso
Envío e recepção de dados
<form action="calcular.php" method="POST">
<p>Horas diarias producción:</p>
<input type="text" name="txt_horas“/>
<input type="submit" value="Calcular“/>
</form>
Envío e recepção de dados
<?php
$txt_horas = $_POST['txt_horas'];
echo("<p>Diario: <b> $txt_horas </b> horas
trabajadas.</p>");
$horas_mes = $txt_horas * 24;
print("<p>Al mes <b> $horas_mes </b>
horas</p>");
?>
• Estudar as funções:
ctype_digit, ctype_alpha, explode,
srttotime, date, split, checkdate, srtpos,
substr, strlen
Tarefa