O documento discute conceitos fundamentais de PHP, incluindo:
1) Fluxo de aplicações web, configurações, bancos de dados e protocolos de comunicação.
2) Funções, como modularizar e organizar código em PHP.
3) Arrays, como grupos de itens com chaves e valores.
4) Bibliotecas matemáticas built-in e como acessar funções.
2. Fluxo de um aplicação WEB
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 2
APACHE
IIS
HTML
CSS
JAVASCRIPT
XML
PHP Interpreter
PERL
C#
Python
Ruby on Rails
Configuração
Imagens
Videos
Dados
MariaDB
MySQL
SQL Server
SQLite
Oracle
MongoDB
POP
SMTP
Requisição
GET/POST
3. Funções
• Utilizadas para modularizar e organizar o código dos programas.
• Um bloco de código que pode ser reutilizado sempre que precisarmos dele.
• Qualquer código PHP válido pode ser implementado dentro de uma
função.
• Toda função em PHP começa com a palavra chave function.
• O nome deve começar por letras e nunca por número.
• Nome deve ser seguido de ( ), com ou sem argumentos.
• O bloco de comandos inicia-se com {. Após a abertura da chave insere-se o
bloco de código da função. Finaliza-se com }.
• Os argumentos são separados por , dentro dos parêntesis.
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 3
4. Criando funções em PHP
• Argumentos: por valor ou por referência utilizando &.
• Execução:
• Quando uma função é chamada, o fluxo de execução de um programa é
interrompido e passado para tal função.
• Após o término da execução, a função devolve o fluxo para o programa
principal.
• Argumentos com valor padrão devem ser indicados por último na
declaração da função.
• Ex: function incrementa($valor, $incremento=1){ ...}
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 4
5. Declaração de funções em PHP
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 5
6. Get your hands dirty ;)
Escreva um uma função que retorne uma mensagem de boas vindas a
partir de dois argumentos de entrada: horário e nome do usuário
Escreva um procedimento que imprima o fatorial de um valor
informado no argumento
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 6
7. Criando Funções em Arquivo Externo
// areas-poligonos.func.php
<?php
function areaQuadrado( $lado ) { return $lado * $lado; }
function areaRetangulo( $base, $altura ) { return ( $base * $altura ); }
function areaTriangulo( $base, $altura ) { return ( $base * $altura ) / 2; }
// index.php
<?php
require 'areas-poligonos.func.php‘
echo areaQuadrado(4);
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 7
8. Funções Variáveis
• O PHP suporta variável com parênteses.
• Sendo assim, ao encontrar uma variável desta natureza, o PHP tentará
executar a função com o nome do conteúdo da variável.
• Funcionam como alias
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 8
9. Funções Variáveis
<?php // index.php
require 'areas-poligonos.func.php';
$func1 = "areaQuadrado";
$func2 = "areaRetangulo";
$func3 = "areaTriangulo";
echo 'Area do quadrado: '; echo $func1(5);
echo '<br /> Area do retangulo: '; echo $func2(10, 12.5);
echo '<br /> Area do triangulo: '; echo $func3(30, 40);
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 9
10. Bibliotecas de Funções Matemáticas
• abs — Valor absoluto
• acos — Cosseno Inverso (arco cosseno)
• acosh — Cosseno Hiperbólico Inverso
• asin — Seno Inverso (arco seno)
• asinh — Seno Hiperbólico Inverso
• atan2 — Tangente inversa de duas variáveis
• atan — Tangente Inversa (arco tangente)
• atanh — Tangente hiperbólica inversa
• base_convert — Converte um número entre bases arbitrárias
• bindec — Binário para decimal
• ceil — Arredonda frações para cima
• cos — Coseno
• cosh — Cosseno hiperbólico
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 10
11. Bibliotecas de Funções Matemáticas
• decbin — Decimal para binário
• dechex — Decimal para hexadecimal
• decoct — Decimal para octal
• deg2rad — Converte o número em graus ao equivalente em radianos
• exp — Calcula o expoente de e
• expm1 — Retorna exp(numero) - 1, computado de forma que é preciso mesmo quando o valor do número é
perto de zero.
• floor — Arredonda frações para baixo
• fmod — Returns the floating point remainder (modulo) of the division of the arguments
• getrandmax — Retorna o maior valor aletório possível
• hexdec — Hexadecimal para decimal
• hypot — Calcula o tamanho da hipotenusa de um ângulo reto do triângulo Retorna a raiz quadrada de
(num1*num1 + num2*num2)
• intdiv — Integer division
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 11
12. Bibliotecas de Funções Matemáticas
• is_finite — Verifica se um valor é um número finito
• is_infinite — Descrição
• is_nan — Verifica se um valor não é um número
• lcg_value — Gerador congruente linear combinado
• log10 — Logaritmo Base-10
• log1p — Retorna o log(1 + numero), calculado de forma que o valor do número seja próximo de zero.
• log — Logaritmo natural
• max — Localiza o maior valor
• min — Encontra o menor valor
• mt_getrandmax — Retorna o maior valor aletório possível
• mt_rand — Gerador melhorado de números aleatórios
• mt_srand — Semeia o gerador melhorado de números aleatórios
• octdec — Octal para decimal
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 12
13. Bibliotecas de Funções Matemáticas
• octdec — Octal para decimal
• pi — Obtém o valor de pi
• pow — Potência
• rad2deg — Converte o número em radianos para o equivalente em graus
• rand — Gera um inteiro aleatório
• round — Arredonda um número
• sin — Seno
• sinh — Seno hiperbólico
• sqrt — Raiz quadrada
• srand — Semeia o gerador de números aletórios
• tan — Tangente
• tanh — Tangente hiperbólica
Mais info: http://php.net/manual/pt_BR/ref.math.php
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 13
14. Arrays
• Um array é um grupo de itens que normalmente compartilham as
mesmas características, como similaridade e tipo. Ex: carros, frutas,
produtos, etc.
• Cada item num array consiste de dois componentes:
• Chave: numérica ou associativa.
• Valor.
Mais info: http://php.net/manual/pt_BR/book.array.php
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 14
15. Criando Arrays
• Sem chave:
<?php
$array = array("foo", "bar", "hello", "world");
var_dump($array);
?>
• Com chave (strings e inteiros podem ser utilizados como chave):
<?php
$array = array("foo" => "bar", "bar" => "foo",
100 => -100, -100 => 100,);
var_dump($array);
?>
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 15
16. Acessando elementos em Arrays
<?php
$array = array(
"foo" => "bar",
42 => 24,
"multi" => array( "dimensional" => array( "array" => "foo" ) )
);
var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);
?>
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 16
17. Removendo elementos em Arrays
<?php
$arr = array(5 => 1, 12 => 2);
unset($arr[5]); // Isto remove um elemento do array
unset($arr); // E isto apaga todo o array
?>
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 17
19. Pesquisando um Valor na Array
<?php
$city= array("Luanda", "Malange","Benguela");
if( in_array("Luanda", $city)){
echo "Achei!";
}
?>
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 19
20. Ordenando Arrays
<?php
$city= array("Luanda", "Malange", "Benguela");
sort($city);
foreach($city AS $uf){
echo "$uf <br>";
}
?>
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 20
21. Get your hands dirty ;)
Através de 3 pontos (x,y) informados utilize o interpretador PHP para
gerar uma página HTML/Javascript que desenhe o triângulo formado
utilizando canvas e imprima o perímetro do triângulo.
03/06/2016 Sistemas para Internet II – CristianoSteffens@furg.br 21