370 likes | 490 Views
PHP & MySQL. José Francisco [jfp@cin.ufpe.br]. Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente. Com modificações! Também possui a contribuição de Cleviton V. F. Monteiro.
E N D
PHP & MySQL José Francisco [jfp@cin.ufpe.br]
Os slides originais são parte do material de cursos anteriores do curso de PHP, ministrados por Sérgio Clemente. Com modificações! Também possui a contribuição de Cleviton V. F. Monteiro. Conteúdo didático é baseado em diversas fontes como: tutoriais, livros e o site oficial de PHP. Inspirado também em slides de Jobson Ronan, instrutor de Java Avançado do CITi.
Roteiro • Variáveis • Tipos • Arrays • Resource
Variáveis • Um espaço na memória para armazenar dados • São case sensitive. • i.e. $nome e $Nome são diferentes. • Começam com $ podem conter letras digitos e sublinhados • O primeiro caractere não pode ser um número.
Regras de Nomenclatura • O primeiro caractere é uma letra ou um sublinhado ‘_’. • O nome só pode conter caracteres alfa-numéricos e sublinhados (a-Z, 0-9, _ ) • Nome que contenham mais de uma palavra deve-se separar as palavras por um sublinhado ou por letra maiúscula. • $nome_cliente ou $nomeCliente
Variáveis $idade $_nome $i $3idade $primeiro-nome • Em PHP não é necessário declarar o tipo de uma variável antes de usá-la (Tipagem Dinâmica). <?php $str = "José"; // $str armazena o tipo string. $i = 12; // $i armazena o tipo inteiro. $f = 3.1415; // $f armazena o tipo ponto flutuante. $v = “3.1415"; // $v armazena o tipo string.?>
Inteiro • Representam os números inteiros da matemática • Variam de -2.147.483.648 à 2.147.483.647 OBS: Caso ocorra overflow o Número de Ponto Flutuante é retornado. <?php $a = 1; # número decimal $a = -2; # um número negativo $a = 0123; # número octal (83 em decimal) $a = 0xF; # número hexadecimal (15 em decimal) $a = 7*12 + 6/3; # saída: 86 ?>
Pontos Flutuantes • Possuem uma parte inteira e uma parte fracionária. • O tamanho depende da plataforma. • Cuidado o seguinte Script gera a saída 1. <?php $a = 1.234; $b = 1.2e3; $c = 7E-10; ?> <?php floor((0.1+0.7)*10) == 7 ?>
Strings • (1 byte por caractere): Não suporta diretamente unicode. • Podem ser delimitadas por “” (aspas duplas), ‘’ (aspas simples) ou por `` (grave). • Cada uma das delimitações tem um propósito específico.
Strings • Delimitado por aspas simples ‘’ • Variáveis internas não são expandidas. <?php $id = 12; $query = ‘SELECT * FROM FUNCIONARIO WHERE ID=$id’; echo($query); ?> Saída SELECT * FROM FUNCIONARIO WHERE ID=$id
Strings • Delimitadas por aspas duplas “” • As variáveis externas são expandidas. <?php $id = 12; $query = "SELECT * FROM FUNCIONARIO WHERE ID=$id"; echo($query); ?> Saída SELECT * FROM FUNCIONARIO WHERE ID=12
Strings • Delimitadas por `` (acentos grave) • Executa o conteúdo como um comando do shell e retorna sua saída. <?php $a = `time`; echo $a; ?> Saida: Hora atual: 16:00:57,61 Digite a nova hora:
Strings • Caracteres especiais para string
Exercícios • Faça os exercícios 4 e 5
Strings • Seqüência de caracteres. • Acessando um caractere da string. • Coloca-se entre chaves o índice do caractere desejado (começando em 0). <?php $str = "abc"; echo $str{1}; echo "<br>"; $str{1} = '2'; echo $str; ?> Saída gerada: ba2c
Strings • Concatenação de Strings. <?php $str1 = "ab"; $str2 = "c"; $concat = $str1 . $str2; ?>
Strings • Conversão de strings em inteiros • Tenta converter da esquerda para a direita, se não conseguir evolui para 0. <?php $foo = 1 + "10.5"; // $foo é float (11.5) $foo = 1 + "-1.3e3"; // $foo é float (-1299) $foo = 1 + "bob-1.3e3"; // $foo é integer (1) $foo = 1 + "bob3"; // $foo é integer (1) $foo = 1 + "10 Small Pigs"; // $foo é integer (11) $foo = 4 + "10.2 Little Piggies"; //$foo é float(14.2) $foo = "10.0 pigs " + 1; // $foo é float (11) ?>
Booleano • Representam os conceitos de verdadeiro e falso. • Use as palavras chave TRUE ou FALSE. Ambas são insensitivas ao caso. <?php $foo = True; // assimila o valor TRUE para $foo ?> OBS: Assim como na linguagem C, em php o 0 é denotado para falso e true para qualquer numero diferente de 0. Portanto: $b1 = -1; //true $b2 = 0; //false $b3 = 2; // true
Booleano • Normalmente utilizado em estruturas de controle junto com os operadores. <? $bool = 3 > 0; // $bool = TRUE; if ($bool == True){ //poderia ser if($bool){.. echo ("Entrou no if!"); } else { echo ("Entrou no else!"); } ?>
Arrays • Encapsula uma coleção de dados. • Podem ser indexados por números inteiros ou strings. • Quando utilizar: • Para evitar ter muitas variáveis similares. • Quando há necessidade de ordenação dos elementos • Entre outros
Arrays • Há três diferentes tipos de arrays: • Numéricos: Um array com uma chave numérica • Associativo: Um array cuja chave difere de um valor numérico (string). • Multidimensional: Um array que possui um ou mais arrays como elemento.
Arrays • Não é necessário inicializar arrays. • Adota o conceito de array dinâmico. <?php $produtos[] = "Pneu"; /* Equivalente a $produtos[0] = "Pneu“ e implicitamente o array foi criado */$produtos[1] = "Oleo"; $produtos[] = "Luva"; ?> Conteúdo do Array:
Indexação - Numéricos • Os arrays são indexados por números: <?php $produtos[] = “Carro"; $produtos[12] = “Pneus"; $produtos[2] = “Motor"; $produtos[] =“Rodas";?> Conteúdo do Array:
Arrays - Construtor • Utilizado para criar arrays: Chave: int ou string Valor: pode ser qualquer coisa [ ] opcional. array( [chave =>] valor , ... );
Arrays • Arrays Associativos <?php $precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>4); $precos["Capo"] = 300; echo $precos["Oleo"]; ?> Conteúdo do array:
Array - Multidimensionais • São arrays que possuem como elementos outros arrays. • Conceito importante em PHP. • Presente nos meios de submissão de Formulários HTTP (POST, GET, FILE, etc).
Array $familias=array( "Silva"=>array( "Renata", "Kelly", "Willian" ), "Lima"=>array( "Adriana", "Thiago" ), "Barbosa"=>array( "Luana" ) ); • Exemplo: Conteúdo do array:
Arrays • Ordenando Arrays. <?php $produtos = array("Pneu", "Oleo", "Luvas"); $precos = array( "Pneu"=>100, "Oleo"=>10, "Luva"=>41); sort($produtos); // ordena pelo valorasort($precos); // ordena por preco (valor) ksort($precos); // ordena por nome (chave,índice)?>
Exemplo final: A memória fica mapeada como: Array <?php $a = array("José", 4=>"Joaquim", "Maria"); $b = array("Id2" => "José", "Id10" => "Maria"); ?>
Array • Manipulando Arrays: (exemplo mais elaborado) <?php// Criando um array normal$array = array(1, 2, 3, 4, 5);print_r($array);unset($array[1]); print_r($array);// Acrescentando um item (note que a chave é 5, em vez de zero// como voce pode ter esperado).$array[] = 6;print_r($array);// Reindexando:$array = array_values($array);$array[] = 7;print_r($array); ?>
Resource • Representa um recurso “externo”. • Por exemplo: • Uma conexão com mysql. • Um arquivo aberto. • ... • Exemplo: <?php $handle = fopen (“curso.txt", "r"); ?> http://br.php.net/manual/pt_BR/resource.php
NULL • Representa uma variável sem valor ou não inicializada. • Não é Case Sensitive (null == Null). • Exemplo: <?php $raiz_quadrada = ($i > 0) ? sqrt($i) : null; ?>
Variáveis de variáveis • O conteúdo de uma variável pode virar o nome de uma variável. <?php $a = "gambiarra"; $$a = "Isso é seboso!"; echo $gambiarra; ?>
Referências • Exemplos de códigos e tutoriais: http://www.phpbuilder.com/ • Site oficial:http://www.php.net • Exemplo de códigos:http://www.scriptbrasil.com.br/ • W3 Schools: http://www.w3schools.com
PHP & MySQL José Francisco [jfp@cin.ufpe.br]