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

Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Nov 05, 2018

Download

Documents

DinhThuy
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Introdução à programação de

lado do servidor. O linguagem

PHP.

Conferencia 9

MSc. Yoenis Pantoja Zaldívar

Page 2: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• 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

Page 3: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 4: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 5: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Programação do lado do servidor

Aparição dos linguagems script do

servidor.

Linguagems interpretados.

CGIC, Pascal, Fortran, etc.

HTML

Historia

Page 6: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Interfaz

De usuario

Aplicativo Banco de

dados

Arquitetura de três capas

Arquitetura aplicativos Web

Page 7: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Nível de Apresentação

Nível de Negocio

Nivel de administração de dados

Arquitetura de três capas

Page 8: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 9: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 10: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 11: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Modelo – Vista - Controlador

Page 12: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

PHP

“PHP is Hypertext Preprocessor”

Linguagem script que é ejecutado do

lado do servidor na Arquitetura Cliente

– Servidor.

Page 13: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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)

Page 14: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Introdução à PHP

Page 15: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Por qué PHP?

Baixo costo

http://www.php.net

Facilidade de aprendizagem e uso

Baseado em C e Perl

Portabilidade

Acesso à código aberto

Page 16: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 17: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• Separación de instrucciones:

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

Sintaxis

Page 18: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• Comentarios:

// texto numa linha

/* texto de varias

linhas */

Sintaxis

Page 19: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• 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

Page 20: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• Exemplo de variávels correitas:

$count, $_Obj, $A123

• Variávels incorreitas:

$123, $*ABC

Sintaxis

Page 21: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• Variávels: “Não tem que definir o tipo”

$Pi = 3.14;

$radio = 5;

$circunferença = $Pi * 2 * $radio;

Sintaxis

Page 22: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

$_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

Page 23: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

(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

Page 24: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 25: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

FILE_ _LINE_ PHP_VERSION

PHP_OS TRUE FALSE

E_ERROR E_WARNING E_PARSE

E_NOTICE

Constantes

Page 26: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

$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

Page 27: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introduçã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

Page 28: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• $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

Page 29: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

+ Adición

- Sustracción

* Multiplicación

/ División

% Módulo

Operadores numéricos

Page 30: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

$var++ Post-Incremento

++$var Pre-Incremento

$var- - Post-Decremento

- -$var Pre-Decremento

Operadores de incremento/decremento

Page 31: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• Operador de concatenación: (.)

• Operador silenciador de errores: (@)

• Operador ternario: (?:)

Outros operadores

Page 32: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Sentencia if

if(expresão booleana)

{ bloco de código; }

else

{ bloco de código; }

Estruturas condicionales

Page 33: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 34: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

while(expresão booleana)

{

/* bloco de código */

}

Estruturas repetitivas

Page 35: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

do

{

/* bloco de código */

} while (expresão booleana)

Estruturas repetitivas

Page 36: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

for(exp_ini; exp_bool; control_ciclo)

{ /* bloco de código */ }

for($i = 0; $i < 10; $i++)

{

//bloco para fazer 10 veces

}

Estruturas repetitivas

Page 37: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

As dois chamadas fazen-se:

nome_função(arg1, arg2, …)

Funções internas

(incorporadas)

Funções definidas

pelo usuario

Funções

Page 38: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

A manera geral de definir uma função é:

function name_function(arg1, arg2, …)

{

// corpo

}

Funções de usuario

Page 39: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

<?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

Page 40: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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)

Page 41: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

echo(“ ”);

print(“ ”);

printf(“ ”);

Saída de textos

Page 42: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

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

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

Manipulação de variávels

Page 43: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Include

<?php

include(“pagina.php");

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

?>

Inclusão de código

Page 44: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

require

<?php

require("nãoexiste.php");

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

?>

Inclusão de código

Page 45: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

“ 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

Page 46: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 47: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Arrays – Exemplo

<?php

$tc = array(

"a" => “xhtml”,

"b" => “css”,

"c" => “js”)

);

?>

Page 48: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Array Bidimensional

<?php

$t = array(

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

“css") ,

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

“postgreSQL”)

);

?>

Page 49: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Acesso aos elementos

<?php

echo $tc[“b”];

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

?>

Page 50: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 51: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Exemplo - foreach

<?php

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

{

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

}

?>

Page 52: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

Page 53: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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>

Page 54: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Envío e recepção de dados

Page 55: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

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

?>

Page 56: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Envío e recepção de dados

Page 57: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

• Estudar as funções:

ctype_digit, ctype_alpha, explode,

srttotime, date, split, checkdate, srtpos,

substr, strlen

Tarefa

Page 58: Introdução à programação de lado do servidor. O ... · Programación Web Avanzada, Capítulo 10. The PHP Documentation Group, Manual de PHP. Disponible en: ... Introdução à

Introdução à programação de

lado do servidor. O linguagem

PHP.

Conferencia 9

MSc. Yoenis Pantoja Zaldívar