• Nenhum resultado encontrado

Conhecendo a linguagem PHP

N/A
N/A
Protected

Academic year: 2021

Share "Conhecendo a linguagem PHP"

Copied!
65
0
0

Texto

(1)

Giuliano Prado

[email protected] www.professorgiuliano.vai.la

Conhecendo a linguagem PHP

(2)

} Sintaxe básica;

} Constantes e variáveis;

} Tipos de variáveis;

} Operadores;

} Estruturas de controle;

If;

Else;

Elseif.

} Loops:

While;

For;

Foreach.

} Arrays:

Associativos;

Multidimensionais.

} Funções:

Retorno;

Parâmetros opcionais.

} Variáveis super globais.

(3)

}

Escapando o HTML;

}

Separação de instruções;

}

Comentários;

(4)

}

Quando o PHP interpreta um arquivo, ele procura pelas tags de abertura e fechamento, as quais indicam para o PHP começar e parar de interpretar o código entre elas.

Interpretar desta maneira permite ao PHP ser embutido em todos os tipos de documentos, já que tudo, fora o par de tags de abertura e fechamento é ignorado pelo interpretador do PHP. Na maioria das vezes você verá o PHP embutido em documentos HTML como neste

exemplo:

<p>Isto vai ser ignorado.</p>

<?php echo 'Enquanto isto vai ser interpretado.'; ?>

<p>Isto também vai ser ignorado.</p>

(5)

}

Você também pode usar estruturas mais avançadas:

<?php

if ($expression) {

?>

<strong>Isto é verdadeiro.</strong>

<?php } else {

?>

<strong>Isto é falso.</strong>

<?php }

?>

(6)

}

Como no C ou Perl, o PHP requer que as

instruções sejam terminadas com um ponto-e- vírgula ao final de cada comando. A tag de

fechamento de um bloco de código PHP automaticamente implica em um ponto-e-

vírgula; você não precisa ter um ponto-e-vírgula terminando a última linha de um bloco PHP:

<?php

echo 'Isto é um teste';

?>

<?php echo 'Isto é um teste' ?>

(7)

} O PHP suporta comentários no estilo 'C', 'C++' e shell do Unix shell (estilo Perl). Por exemplo:

<?php

echo 'Isto é um teste'; // Estilo de comentário de uma linha em c++

/* Este é um comentário de múltiplas linhas ainda outra linha de comentário */

echo 'Isto é ainda outro teste';

echo 'Um teste final'; # Este é um comentário de um a linha no estilo shell

?>

(8)

}

Exemplo 2:

<h1>

Isto é um <?php # echo 'simples';?> exemplo.

</h1>

<p>

O cabeçalho acima irá dizer 'Isto é um exemplo'.

</p>

(9)

} As variáveis no PHP são representadas por um cifrão ( $ ) seguido pelo nome da variável. Os nomes de variável no PHP fazem distinção entre maiúsculas e minúsculas.

<?php

// Declarando uma variável

$nome = “Giuliano”;

// Escapando echo $nome;

?>

(10)

}

O escopo de uma variável é o contexto onde ela foi definida. A maior parte das variáveis do PHP tem somente escopo local. Este escopo local inclui os arquivos incluídos. Por exemplo:

<?php

$a = 1;

include 'b.inc';

?>

Aqui a variável $a estará disponível no script

incluído b.inc.

(11)

} Com as funções definidas pelo usuário, um escopo local é

introduzido. Quaisquer variáveis utilizadas dento da função é por default limitada dentro do escopo local da função. Por exemplo:

<?php

$a = 1; /* escopo global */

function Teste() {

echo $a; /* referencia uma variável do escopo local (não definida) */

}

Teste();

?> Este script não produz nenhuma saída porque a instrução echo() refere-se a uma versão local da variável $a, e ela não tem nenhum valor assimilado nesse escopo.

Este script não produz nenhuma saída porque a instrução echo() refere-se a uma versão local da variável $a, e ela não tem nenhum valor assimilado nesse escopo.

(12)

}

Você pode definir uma constante utilizando- se da função define(), ou utilizando a

palavra-chave const fora da definição de uma classe a partir dor PHP 5.3.0. Quando uma

constante é definida, ela nunca mais poderá

ser modificada ou anulada.

(13)

}

Exemplo 1:

<?php

define("CONSTANT", "Hello world.");

echo CONSTANT; // imprime "Hello world."

echo Constant; // imprime "Constant" e gera um alerta notice.

?>

(14)

}

Exemplo 2:

<?php

// Funciona a partir do PHP 5.3.0 const CONSTANT = 'Hello World';

echo CONSTANT;

?>

(15)

O PHP suporta oito tipos primitivos.

}

São quatro tipos básicos:

◦ boolean

◦ integer

◦ float

◦ string

}

Dois tipos compostos:

◦ array

◦ object

}

E finalmente dois tipos especiais:

◦ resource

◦ NULL

(16)

}

Este é o tipo mais simples.

Um booleano expressa um valor verdade. Ele pode ser TRUE ou FALSE:

}

Para especificar um literal booleano, use as palavras-chave TRUE ou FALSE. Ambas são case-insensitive:

<?php

$foo = True; // atribui o valor True para $foo

?>

(17)

}

Exemplo:

<?php

$v = True;

if($v){

echo “Verdadeiro”; // Se verdadeiro }else{

echo “Falso”; // Se falso }

?>

(18)

} Um inteiro é um número do conjunto Z = {..., -2, -1, 0, 1, 2, ...}.

} Inteiros podem ser especificados em notação decimal (base 10),

hexadecimal (base 16) ou octal (base 8), opcionalmente precedido de sinal (- ou +).

} Para usar a notação octal, você precisa preceder o número com um 0 (zero). Para utilizar a notação hexadecimal, preceda número com 0x.

<?php

$a = 1234; // número decimal

$a = -123; // um número negativo

$a = 0123; // número octal (equivalente a 83 em decimal)

$a = 0x1A; // número hexadecimal (equivalente a 26 em

decimal)

?>

(19)

} Números de ponto flutuante (também conhecidos como "floats",

"doubles" ou "números reais") podem ser especificados utilizando qualquer uma das seguintes sintaxes:

<?php

$a = 1.234;

$b = 1.2e3;

$c = 7E-10;

?>

O tamanho de um número de ponto flutuante é dependente de plataforma, sendo o máximo de ~1.8e308 com uma precisão de 14 dígitos decimais um valor comum (número de 64 bits no formato IEEE).

(20)

}

number_format ( float numero, int casas, char sep_dezena, char sep_milhar );

}

Passados 4 parâmetros, que são:

◦ 1º - O numero a ser formatado

◦ 2º - A precisão decimal (quantidade de casas decimais que serão exibidas)

◦ 3º - Separador de dezenas (opcional)

◦ 4º - Separador de milhar (opcional)

(21)

}

Formatação de saída de um numero real:

<?php

$media = 87.567834;

$valor = number_format($media, 2, ',' , '.'); // formato BRA echo “Numero real formatado = . $valor”;

?>

Saída: Numero real formatado = 87,56

(22)

}

A sintaxe do typecast de PHP é semelhante ao C: basta escrever o tipo entre parênteses antes do valor

}

Exemplo:

$php = 15; // $php é integer (15)

$php = (double) $php // $php é double (15.0)

$php = 3.9 // $php é double (3.9)

$php = (int) $php // $php é integer (3) // o valor decimal é truncado

}

Os tipos de cast permitidos são:

(int), (integer) muda para integer;

(real), (double), (float) muda para float;

(string) muda para string;

(array) muda para array;

(object) muda para objeto.

(23)

}

Com a função settype

◦ A função settype converte uma variável para o tipo especificado, que pode ser “integer”, “double”, “string”,

“array” ou “object”.

}

Exemplo:

$php = 15; // $php é integer

settype($php,double); // $php é double

(24)

} Uma string é uma série de caracteres.

} As maneiras mais simples para especificar uma string é delimitá-la entre apóstrofos (‘) ou aspas (“):

<?php

echo 'isto é uma string comum';

echo ”Você pode incluir novas linhas em strings dessa maneira que estará

tudo bem”;

?>

(25)

} O PHP possui basicamente 4 maneiras de se criar vetores:

1. Vetor vazio com dimensão;

2. Vetor com elementos (dimensionado);

3. Vetor dinâmico

4. Vetor do tipo chave => valor;

(26)

1. Vetor vazio com dimensão:

$vetor = array(20);

Vetor com 20 elementos vazios

2. Vetor com elementos (dimensionado):

$vetor = array(20, 40, 4, 60, 35);

Vetor com 5 elementos inteiros

(27)

Em ambos o acesso é feito normalmente pelo índice, seguindo o padrão de vetores em C (índices de 0 a n-1)

echo $vetor [0];

echo $vetor [1];

....

(28)

3. Vetor dinâmico:

$vetor = array( );

Neste caso o vetor não tem dimensão fixa e é dinâmico, ou seja, aceita quantos valores

desejados, “sem limite”:

$vetor [ ] = “Analista”;

$vetor [ ] = “Gerente”;

....

Observe que não se referencia nenhum índice para

se colocar um elemento.

(29)

4. Vetor do tipo chave => valor:

$vetor = array (“salgado”=>7,

“suco”=>10,

“doce”=>13,

“biscoito”=>4.5,

“bala”=>0.2,

“pizza”=>25 );

Nesse caso, o vetor possui 6 elementos, onde os nomes de produtos são os índices e os preços os

elementos

(30)

4. Vetor do tipo chave => valor:

$vetor = array (“salgado”=>7,

“suco”=>10,

“doce”=>13,

“biscoito”=>4.5,

“bala”=>0.2,

“pizza”=>25 );

salgado suco doce biscoito bala pizza

7 10 13 4.5 0.2 25

(31)

4. Vetor do tipo chave => valor:

echo $vetor[“biscoito”];

Saída nesse caso será 4.5 que é o preço do biscoito

salgado suco doce biscoito bala pizza

7 10 13 4.5 0.2 25

(32)

}

int count ($vetor) ou sizeof($vetor): retorna a quantidade de elementos.

}

boolean in_array($valor, $vetor): procura se um valor está no vetor

}

array_unique($vetor): remove os elementos duplicados

}

array_sum($vetor): retorna o somatórios dos elementos de um vetor.

}

boolean array_key_exists($chave,$vetor): verifica se uma chave existe num vetor

}

sort($vetor): ordena o vetor

}

rsort($vetor): ordena o vetor decrescentemente

(33)

}

Usando índice:

for($i=0; $i < count($vetor); $i++) { echo $vetor[$i];

}

}

Usando FOREACH:

foreach($vetor as $elemento) { echo $elemento;

}

Passa-se o vetor ao foreach e ele atribui

automaticamente para a variável $elemento cada um dos seus valores, um-a-um,

a cada interação do loop

(34)

}

Usando FOREACH com chave => valor:

foreach($vetor as $chave => $valor)

{ echo “$chave e seu valor $valor <br>” ;

}

“salgado e seu valor 7”

“suco e seu valor 10”

“doce e seu valor 13”

“biscoito e seu valor 4.5”

“bala e seu valor 0.2”

“pizza e seu valor 25”

(35)

} Podemos armazenar objetos em variáveis onde é possível acessar suas propriedades e métodos de acordo com a configuração:

<?php class foo

{ function do_foo() { echo "Doing foo.";

} }

$bar = new foo;

$bar->do_foo();

?>

(36)

}

O valor especial NULL representa que a

variável não tem valor. NULL é o único valor possível do tipo NULL;

}

A variável é considerada null se:

◦ ela foi assimilada com a constante NULL.

◦ ela ainda não recebeu nenhum valor ainda.

◦ ela foi apagada com unset().

<?php

$var = NULL;

?>

(37)

}

Um operador é algo que você alimenta com um ou mais valores e que devolve outro

valor.

}

Estudaremos com mais afinco quatro operadores:

◦ Operadores Aritméticos

◦ Operadores de Atribuição

◦ Operadores de Comparação

◦ Operadores de Incremento/Decremento

(38)

}

Os operadores aritméticos são usados para

desenvolver operações matemáticas:

(39)

}

O operador básico de atribuição é "=“:

<?php

$a = ($b = 4) + 5; // $a é igual a 9 agora e

$b foi configurado como 4.

?>

(40)

}

Além do operador básico de atribuição, há

"operadores combinados“:

<?php

$a = 3;

$a += 5; // configura $a para 8, como se disséssemos: $a = $a + 5;

$b = "Bom ";

$b .= "Dia!"; // configura $b para "Bom Dia!", como em $b = $b . "Dia!";

?>

(41)

}

Operadores de comparação, como os seus nomes implicam, permitem que você

compare dois valores:

(42)

}

O PHP suporta operadores de pré e pós-

incremento e decremento:

(43)

}

IF:

◦ Permite a execução condicional de fragmentos de código:

<?php

if ($a > $b) {

echo “Teste verdadeiro!!”;

$b = $a;

}

?>

(44)

}

ELSE:

◦ Frequentemente você precisará executar uma bloco de código se a condição for verdadeira e também se ela for falsa:

<?php

if ( $a > $b ) {

echo "a é maior que b" ; } else {

echo "a NÃO é maior que b" ; }

?>

(45)

}

ELSEIF:

◦ Como o nome sugere ele é uma combinação de IF e ELSE;

◦ Permite executar um como teste com uma nova condição:

<?php

if ($a > $b) {

echo "a é maior que b";

} elseif ($a == $b) { echo "a é igual a b";

} else {

echo "a é menor que b";

}

?>

(46)

Giuliano Prado

[email protected] www.professorgiuliano.vai.la

Laços de Repetição

(47)

}

WHILE

<?

while (condição) {

//EXECUTA ENQUATO A CONDIÇÃO FOR VERDADEIRA }

?>

(48)

}

WHILE

<?

$a = 0;

while (a < 50) {

$b = 2*$a – 1;

echo ‘Valor de B = ’ . $b;

$a++;

}

?>

(49)

§

DO ... WHILE

<?

do {

//EXECUTA ENQUATO A CONDIÇÃO FOR VERDADEIRA } while (condição);

?>

(50)

§

DO ... WHILE

<?

$x = 0;

do {

$x++;

} while ($x < 10);

?>

(51)

§

FOR

<?

for (valor inicial; condição; incremento) { //CÓDIGO A SER EXECUTADO

}

?>

(52)

§

FOR

<?

for ($i=0; $i < 50; $i++) {

$quad = $i * $i;

echo ‘Quadrado de ’ . $i . ‘ é igual a ’. $quad;

}

?>

(53)

§

FOREACH

<?

foreach (array as valor) { //CÓDIGO A SER EXECUTADO }

foreach (array as chave => valor) { //CÓDIGO A SER EXECUTADO

}

?>

(54)

§

FOREACH

$frutas = array('maca','banana','melancia','melao','abacaxi','laranja');

foreach($frutas as $fruta) {

echo "A fruta e: ". $fruta . " ";

}

/* RESULTADO:

A fruta e: maca A fruta e: banana A fruta e: melancia A fruta e: melao

A fruta e: abacaxi

A fruta e: laranja */ ?>

(55)

Giuliano Prado

[email protected] www.professorgiuliano.vai.la

Manipulação de Strings

(56)

Diferença entre as aspas simples e

aspas duplas

(57)

Seqüência de Escape

• \n, \r Nova linha

• \t Tabulação horizontal

• \\ A própria barra ( \ )

• \$ O símbolo $

• \’ Aspa simples

• \“ Aspa dupla

(58)

Concatenar Strings

(59)

Como descobrir o comprimento de

uma string

(60)

Como eliminar espaços em branco

finais e iniciais de uma string

(61)

Como converter em letras maiúscula ou minúscula

(62)

Como trabalhar com substrings

(63)

}

str_pad()

◦ preenche uma string com o valor informado até um tamanho

str_pad(string,comprimento,string de preenchimento,tipo)

<?php

$str = "Ola turma";

echo str_pad($str,20,".",STR_PAD_LEFT);

?>

resultado : ...Ola turma

<?php

$str = "Ola turma";

echo str_pad($str,20,".:",STR_PAD_BOTH);

?>

resultado : .:.:Ola turma.:.:.

(64)

}

str_replace()

◦ Procura por um valor em uma string, se encontrado substitui por outro

str_replace(procurar,substituir,string)

<?php

echo str_replace("turma","joao","ola turma!");

?>

resultando em : ola joao!

}

se o valor de procura for um array, será executado para cada elemento

}

se ambos, procurar, e substituir forem arrays, o valor encontrado será substituido pelo valor na mesma

posição no outro array, se nao tiverum valor, este será

por branco

(65)

}

strpos()

◦ Retorna a primeira ocorrencia da string de procura na string maior

strpos(string,procurar,começar de)

<?php

echo strpos("abcdefghijk","e");

?>

irá retornar 5

Referências

Documentos relacionados

(2010), podem servir como casos sentinela para infecções humanas numa área geográfica restrita. Devido ao fenómeno da globalização que ocorre actualmente, é crucial haver

Em função de leis ambientais mais restritivas e da busca por máquinas mais eficientes, a indústria global de fluidos frigoríficos tem pesquisado e desenvolvido novas soluções para

Art. 22º - O Conselho de Ensino e Pesquisa poderá constituir Câmaras Assessoras dentro do âmbito de Ensino e Pesquisa com composição e atribuições estabelecidas no seu

O método propriamente dito de um trabalho científico só pode ser estabelecido depois que o objetivo tiver sido definido. Por esse motivo, no caso da Computação, normalmente a revisão

b) Execução dos serviços em período a ser combinado com equipe técnica. c) Orientação para alocação do equipamento no local de instalação. d) Serviço de ligação das

Se os fornecedores de ITCM usam versões dos codecs de G.711 ou de G.729 que são diferentes daqueles usados nesse exemplo, você deve estaticamente configurar moldes de perfil de QoS

“Um livro será um fracasso para o leitor se não se tornar um objeto de estudo, e sua leitura uma experiência emocional em si mesma.” Ogden, Lendo Bion, p.. obra bioniana em

responsabilizam por todo e qualquer dano ou conseqüência causada pelo uso ou manuseio do produto que não esteja de acordo com as informações desta ficha e as instruções de