Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo...

58
Introdução à programação de lado do servidor. O linguagem PHP. Conferencia 9 MSc. Yoenis Pantoja Zaldívar

Transcript of Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo...

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

Interfaz

De usuario

Aplicativo Banco de

dados

Arquitetura de três capas

Arquitetura aplicativos Web

Nível de Apresentação

Nível de Negocio

Nivel de administração de dados

Arquitetura de três capas

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

Modelo – Vista - Controlador

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)

Introdução à PHP

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>'; %>

• Separación de instrucciones:

(;) o la etiqueta de cierre (?>).

Sintaxis

• Comentarios:

// texto numa linha

/* texto de varias

linhas */

Sintaxis

• 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

FILE_ _LINE_ PHP_VERSION

PHP_OS TRUE FALSE

E_ERROR E_WARNING E_PARSE

E_NOTICE

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

+ Adición

- Sustracción

* Multiplicación

/ División

% Módulo

Operadores numéricos

$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

while(expresão booleana)

{

/* bloco de código */

}

Estruturas repetitivas

do

{

/* bloco de código */

} while (expresão booleana)

Estruturas repetitivas

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)

echo(“ ”);

print(“ ”);

printf(“ ”);

Saída de textos

• isset(): bool isset(mixed var);

• empty(): boolean empty(mixed var);

• unset(): void unset(mixed var);

Manipulação de variávels

Include

<?php

include(“pagina.php");

echo (“Olá. O script siguió!");

?>

Inclusão de código

require

<?php

require("nãoexiste.php");

echo (“Olá. O script NÃO siguió!");

?>

Inclusão de código

“ 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

Arrays – Exemplo

<?php

$tc = array(

"a" => “xhtml”,

"b" => “css”,

"c" => “js”)

);

?>

Array Bidimensional

<?php

$t = array(

“cliente" => array("a" => “xhtml", "b" =>

“css") ,

“servidor” => array("a" => “php”, "b" =>

“postgreSQL”)

);

?>

Acesso aos elementos

<?php

echo $tc[“b”];

echo $t[“servidor”][“a”];

?>

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

Exemplo - foreach

<?php

foreach( $tc as $k => $v )

{

echo "<p>Clave: $k; Valor: $v</p>";

}

?>

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&oacute;n:</p>

<input type="text" name="txt_horas“/>

<input type="submit" value="Calcular“/>

</form>

Envío e recepção de dados

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>");

?>

Envío e recepção de dados

• Estudar as funções:

ctype_digit, ctype_alpha, explode,

srttotime, date, split, checkdate, srtpos,

substr, strlen

Tarefa

Introdução à programação de

lado do servidor. O linguagem

PHP.

Conferencia 9

MSc. Yoenis Pantoja Zaldívar