A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

40 Horas Instrutor: Antonio Itamar Júnior

Apresentações semelhantes


Apresentação em tema: "40 Horas Instrutor: Antonio Itamar Júnior"— Transcrição da apresentação:

1 40 Horas Instrutor: Antonio Itamar Júnior
PHP5 Básico 40 Horas Instrutor: Antonio Itamar Júnior

2 PHP5 Básico O que é PHP? Nomenclatura de arquivos
Abertura de escopo PHP Comentários de código Variáveis Nomenclatura de variáveis Tipos de dados - Array - Programação Web - Orientação a Objetos - MySQL - PHP + MySQL

3 Ambiente de desenvolvimento
Links para apache e php5

4 O que é php?

5 Nomenclatura de arquivos
Não pode conter caracteres especiais. Nomes válidos: Arquivo2.php nomeArquivo.php nome_arquivo.php Cliente.php Nomes inválidos: nome arquivo.php nome-arquivo.php Formulário.php

6 Estudo de caso Crie os arquivos para as seguintes necessidades.
Cadastrar Pessoa Jurídica; Cadastrar Nome Completo da Mãe; Formulário de inscrição

7 Abertura de escopo PHP Sintaxe
Sintaxe alternativa (exige alteração no PHP.INI) <?php ... ?> <? ?>

8 Comentários de código Mantém textos dentro do escopo de um código PHP, sem ser interpretado pelo servidor; Auxilia a equipe a entender um determinado trecho de código; Sintaxe Pequenos comentários – recomendado para frase unica; Grandes comentários – recomentado para explicar um algorítimo; Grandes comentários – recomendado para explicar funcionalidades pelo fato de auxilizar na geração de documentação do código. // Texto em linha única /* * Texto em * várias linhas */ /** * Texto em * várias linhas */

9 Variáveis Similar a aritmética , as variáveis servem para armazenar algum valor desconhecido, ou que muda com certa facilidade. Para criar uma variável é necessário colocar o símbolo “$” antes do nome desejado. Sintaxe $nome_da_varivel

10 Nomenclatura de variáveis
Não pode ser iniciada com número; É case-sensitive, $nome é diferente de $NOME; Válidos Inválidos $Nome $2nome; $nome $nome completo; $_nome - $nomeCompleto * $nome_completo /

11 Da esquerda pra direita
Alimentar variáveis Valor numérico; Valor alfanumérico Valor variável $variavel = 10; $variavel = 10.5; $variavel = “Hello World”; $variavel = “10”; $variavel = “10.5”; $variavel = $variavel_2; $variavel = valor; Da esquerda pra direita

12 Tipos de dados O tipo de variável se refere ao tipo de dado que é armazenado em uma variável. Tipo Descrição Int Utilizado para números inteiros Float Também chamado de Double – Utilizado para números reais (números de ponto flutuante) String Utilizado para coleções de caracteres (textos) Boolean Utilizado para valores verdadeiros ou falsos. Array Utilizado para armazenar vários valores Object Resource NULL Atribuído automaticamente quando não é declarado nenhum tipo para uma variável

13 Tipos de dados No PHP não há necessidade de declarar o tipo da variável antes de utilizá-la, como é obrigatório em linguagens como C e JAVA.

14 Aprenda fazendo A variável quantidade agora é entendida como uma variável do tipo Int e a variável preco como Float. Provando a portabilidade de tipos de variável no PHP, agora à variável preco será entendida como sendo do tipo String. O PHP altera o tipo de variável de acordo com o que está armazenado na variável. Em qualquer momento essa troca pode ocorrer. <?php $quantidade = 0; $preco = 0.00; ?> <?php $quantidade = 0; $preco = ‘Brasil’; ?>

15 COERÇÃO DE TIPO Para fazer uma coerção basta colocar o tipo desejado entre parênteses “()” na frente da variável. $variavel = (tipo) $variavel; Possíveis Tipos int integer float long double real

16 Aprenda fazendo Aplicando coerção de tipo
A variável $preco, está armazenando a coerção da variável $quantidade para o tipo real. A variável $quantidade continua sendo do tipo int. A variável $preco fica sendo do tipo float. <?php $quantidade = 10; $preco = (double) $quantidade; ?>

17 Visualizando variáveis no browser
Echo var_dump(); Aprenda fazendo para visualizar as variaveis.

18 Variáveis variável Através das variáveis variável é permitido alterar dinamicamente o nome de uma variável. <?php $nome = ‘hoje’; $$nome = 5; echo $hoje; echo ‘<br />’; //A variável terá o nome inválido, portanto não irá funcionar $nome = '123'; $$nome = '456'; echo $123; ?>

19 Constantes Uma constante armazena um valor como uma variável, mas seu valor é atribuído uma vez e não pode ser alterado em outra parte do script. Nomenclatura similar as variáveis normais, com algumas pequenas diferenças: Usar nome em maiúsculo, para distinguir variáveis de constantes. (Não é obrigado, mas facilita a leitura do código) Obrigatoriamente não colocar o sinal de cifrão “$” na frente do nome. Case sensitive <?php define( "MONITOR" , 700 ); define( "LOCAL" , "Brasil" ); define( "VALIDO" , true ); define( "1CARRO" , 3 ); //Nome inválido echo MONITOR; echo “<br />"; echo LOCAL; echo VALIDO; ?>

20 Constantes mágicas nts.predefined.php

21 Operadores Desenvolvimento...

22 Operadores aritméticos
Similares aos operadores matemáticos. Nome Operador Exemplo Adição + $a + $b Subtração - $a - $b Multiplicação * $a * $b Divisão / $a / $b Módulo % $a % $b

23 Operadores aritméticos
Similares aos operadores matemáticos. Nome Operador Exemplo Adição + $a + $b Subtração - $a - $b Multiplicação * $a * $b Divisão / $a / $b Módulo % $a % $b

24 Aprenda fazendo Escreva o código abaixo no arquivo operadores_aritmeticos.php <?php //ALIMENTANDO VARIÁVEIS $a = 1; $b = 2; $c = 3; $d = 4; $e = -1; //OPERADOR DE ADIÇÃO $adicao = $a + $b; //OPERADOR DE SUBTRAÇÃO $subtracao = $c - $a; //OPERADOR DE MULTIPLICAÇÃO $multiplicacao = $b * $c; //OPERADOR DE DIVISÃO $divisao = $d / $b; //OPERADOR DE MÓDULO $modulo = $d % $c; ?>

25 Estudo de caso Imprima o nome da operação e a operação com resultado.
…Continue com as outras operações. <?php //IMPRIMIR RESULTADOS echo "Adicao : "; echo $a; echo " + "; echo $b; echo " = "; echo $adicao; echo "<br />"; echo "Subtracao : "; echo $c; echo " - "; echo $subtracao; ?>

26 Operador de string Conhecido como concatenação, é possível juntar e armazenas uma ou mais strings. <?php $nome = "Antonio Itamar"; $sobrenome = " Junior"; $nome_completo = $nome . $sobrenome; echo $nome_completo; ?>

27 Aprenda fazendo Escreva o código abaixo no arquivo operador_string.php
$nome = "Antonio Itamar"; $sobrenome = " Junior"; $nome_completo = $nome . $sobrenome; echo $nome_completo; ?>

28 CONCATENAÇÃO AVANÇADA

29 OPERADORES DE ATRIBUIÇÃO DE COMBINAÇÃO
Cada um dos operadores abaixo, é um modo abreviado de fazer uma operação aritmética. Operador Utilização Equivalente a += $a += $b $a = $a + $b -= $a -= $b $a = $a - $b *= $a *= $b $a = $a * $b /= $a /= $b $a = $a / $b %= $a %= $b $a = $a % $b .= $a .= $b $a = $a . $b

30 Aprenda fazendo <?php $a = $a . “Oi"; echo $a . $a = $a . “Brasil";
$a = $a . "Teste"; $sobrenome = " Junior"; $nome_completo = $nome . $sobrenome; echo $nome_completo; ?>

31 Pré e pós incremento e decremento
Aula 2 Pré e pós incremento e decremento

32 Pré e pós incremento e decremento
Pré-incremento – primeiro incrementa (+1) na variável informada em seguida retorna o valor incrementado. Pós-incremento – primeiro retorna o valor da variável em seguida é incrementado (+1). Para decrementar (--) é semelhante, entretanto o valor da variável vai decrementar em vez de incrementar. ++$variavel; $variavel++;

33 Aprenda fazendo Escreva o código abaixo no arquivo pre_pos_incremento.php <?php echo 'Pos-Incremento'; echo '<br />'; echo 'Primeira Chamada = ' . $i++; echo 'Segunda Chamada = ' . $i; echo 'Pre-Incremento'; echo 'Primeira Chamada = ' . ++$j; echo 'Segunda Chamada = ' . $j; ?>

34 diferença de = para ==

35 ESTRUTURA DE CONTROLE: INSTRUÇÃO IF
Case sensitive; Sintaxe para única instrução Sintaxe para várias instruções Sintaxe alternativa Substitui a chave de abertura ({) por dois-pontos (:) e a chave de fechamento por uma nova palavra-chave, que será endif if( expressão Boolean ) instruções if( expressão Boolean ) { instruções } if( expressão Boolean ): instruções endif;

36 Aprenda fazendo

37 Tabela da verdade E | OU If com mais de uma condição.

38 ESTRUTURA DE CONTROLE: INSTRUÇÃO ELSE

39 ESTRUTURA DE CONTROLE: INSTRUÇÃO ELSEIF

40 Estudo de caso

41 ESTRUTURA DE CONTROLE: INSTRUÇÃO SWITCH
Funciona de modo semelhante a instrução if. Sintaxe A palavra-chave break quer dizer que a instrução irá parar assim que encontrá-la. switch ( $a ) { case 'Brasil': //EXECUTA AÇÃO break; case 5: default: }

42 Aprenda fazendo Escreva o código abaixo no arquivo switch.php <?php
$a = ‘Brasil’; switch ( $a ) { case 'Brasil': echo ‘Sou Brasileiro’; break; case 'Argentina‘: echo "Sou Argentino"; case 'Estados Unidos': echo 'Sou Norte Americano'; default: echo 'Não possuo nacionalidade'; } ?> Escreva o código abaixo no arquivo switch.php

43 ESTRUTURA DE CONTROLE PARA REPETIÇÃO
As instruções while, do-while, for e foreach, são consideradas instruções de controle iterativo (repetição), podendo executar alguma parte do código várias vezes.

44 ESTRUTURA DE CONTROLE: INSTRUÇÃO WHILE
Como em uma instrução if ele conta com uma condição seja ‘true’ ou ‘false’. No início de cada iteração, a condição será testada, se a condição for true a instrução será executada, caso seja false, o bloco não será executado e o loop terminará. Sintaxe Sintaxe alternativa while( expressão Boolean ) { instruções } while( expressão Boolean ): instruções endwhile;

45 Aprenda fazendo Escreva o código abaixo no arquivo while.php <?php
while ( $a < 10 ) { echo $a . ‘<br />'; $a++; } ?>

46 ESTRUTURA DE CONTROLE: INSTRUÇÃO DO-WHILE
Loops do-while são bem similares aos loops while, exceto pelo fato de que a condição é verificada no fim de cada iteração em vez de no começo. A primeira iteração de um loop do-while é garantidamente executada (a condição só é verificada no fim da iteração) . Não é obrigatório executar o loop (condição diferente de true). Sintaxe única do { instruções } while( expressão Boolean );

47 Aprenda fazendo Escreva o código abaixo no arquivo do_while.php
//EXECUTA A PRIMEIRA ITERAÇÃO, E ENTRA NO LOOP $a = 0; do { echo $a . ‘<br />'; $a++; } while ( $a < 10 ); echo ‘<br />'; //EXECUTA APENAS A PRIMEIRA ITERAÇÃO, MAS NÃO EXECUTA O LOOP while ( $a > 10 ); ?>

48 ESTRUTURA DE CONTROLE: INSTRUÇÃO FOR
Sintaxe Expressão 1 – é executada uma vez incondicionalmente no início do loop (normalmente valor inicial de um contador). Expressão 2 – é avaliada no início de cada iteração, se a expressão for true o loop continua, caso seja false o loop termina (normalmente testará o contador com um limite). Expressão 3 – é executada no fim de cada iteração (normalmente ajustará o valor do contador). Sintaxe alternativa for( expressão 1 ; expressão 2 ; expressão 3 ) { instruções } for( expressão 1 ; expressão 2 ; expressão 3 ): instruções endfor;

49 Aprenda fazendo Escreva o código abaixo no arquivo for.php <?php
//SINTAXE 1 for ( $a = 1; $a <= 10; $a++ ) { echo $a . ‘ ‘; } ?>

50 ESTRUTURA DE CONTROLE: INSTRUÇÃO FOR
Cada uma das expressões pode ser vazia ou conter múltiplas expressões separadas por vírgulas. Em expr2, todas as expressões separadas por vírgula são avaliadas mas o resultado é obtido pela última parte. expr2 vazia significa que o loop pode rodar indefinidamente (PHP considera-a implicitamente como TRUE, como em C).

51 Aprenda fazendo Escreva o código abaixo no arquivo for.php <?php
//SINTAXE 1 for ( $a = 1; $a <= 10; $a++ ) { echo $a . ‘ ‘; } echo ‘<br />‘; //SINTAXE 2 for ( $a = 1; ; $a++ ) if ( $a > 10 ) break; ?>

52 Estrutura de controle: break e continue
break cancela a execução do comando for, foreach, while, do- while ou switch atual. break aceita um argumento numérico opcional que diz a ele quantas estruturas aninhadas englobadas devem ser quebradas.

53 ESTRUTURA DE CONTROLE: INSTRUÇÃO DECLARE
O construtor declare é utilizado para configurar diretivas de execução para blocos de código. A sintaxe do declare é similar a sintaxe de outros construtores de controle. structures.declare.php

54 Aula 3 Array

55 FUNÇÕES DO PHP Conheça algumas forma de visualizar o conteúdo de um array. Função Descrição var_damp() Utilizado para representação estruturada sobre uma ou mais expressões, incluindo o tipo, a chave e o valor print_r() Utilizado para imprimir a estrutura de um array, contendo a chave e o valor <pre></pre> Tag HTML para formatar uma saída (texto).

56 Aprenda fazendo Escreva o código abaixo no arquivo array.php <?php
$a = array( 10 , 20 , 30 ); //IMPRIMINDO ARRAY - VAR_DUMP var_dump( $a ); echo '<br />‘; //IMPRIMINDO ARRAY - PRINT_R print_r( $a ); echo '<br />'; //FORMATANDO IMPRESSÃO - VAR_DUMP echo '<pre>'; echo '</pre>'; //FORMATANDO IMPRESSÃO - PRINT_R ?>

57 Array – acessando conteúdo
Arquivo: acessando_array.php Observação: Echo $a[] // vai dar erro. <?php $a = array( 10 , 20 , 30 , ‘Brasil’ , true , 30.7 ); echo $a[0] . '<br />‘; echo $a[1] . '<br />‘; echo $a[2] . '<br />‘; echo $a[3] . '<br />‘; echo $a[4] . '<br />‘; echo $a[5] . '<br />‘; Manipular valor echo $a[0] = ‘Alterando valor da posição 0.‘; ?>

58 Estudo de caso – acessando array
Arquivo: estudo_caso_acessando_array.php <?php $a = array( 10 , 20 , 30 , ‘Brasil’ , true , 30.7 ); For( $i = 0 ; $i <= 5 ; $i++ ) { echo $a[$i] . '<br />‘; } ?>

59 Arrays com índices (chaves)
O função array por padrão já cria automaticamente suas chaves, iniciando com 0 e indo até N; A chave pode ser string ou integer; Arrays com chaves Float, serão transformados em Int; Utilizar True como chave será interpretado como Integer 1. Utilizando False como chave será avaliado como Integer 0. Utilizando Null como chave será avaliada como uma String vazia. O valor pode ser qualquer tipo PHP; Sintaxe array( chave => valor , ... )

60 Acessando conteúdo de array com chaves
Declara o array com todas as chaves e valores necessários Declara o array com apena uma chave e um valor, implementando o resto depois da declaração inicial do array Não foi iniciado nenhum array $a = array( 'mouse' => 30 , 'monitor' => 400 , 'teclado' => 45 ); $a = array( 'mouse’ => 30 ); $a['monitor'] = 400; $a['teclado'] = 45; $a[‘mouse'] = 30; $a['monitor'] = 400; $a['teclado'] = 45;

61 Aprenda fazendo Escreva o código abaixo no arquivo array_chave.php (1/2) <?php //SINTAXE 1 $a = array( 'mouse' => 30 , 'monitor' => 400 , 'teclado' => 45 ); //SINTAXE 2 $b = array( 'mouse' => 30 ); $b['monitor'] = 400; $b['teclado'] = 45; //SINTAXE 3 $c['mouse'] = 30; $c['monitor'] = 400; $c['teclado'] = 45; //EXIBIR CONTEÚDO echo $a['mouse'] . '<br />'; echo $b['teclado'] . '<br />'; echo $c['monitor'] . '<br />';

62 ...CONTINUAÇÃO Escreva o código abaixo no arquivo array_chave.php (2/2) $d = array( 'a' => true , 3 => 20 , 5.3 => 30 , true => 'Texto 1' , false => 'Texto 2' , null => 'Texto3‘ ); //IMPRIMIR ARRAY - VAR_DUMP echo '<pre>'; var_dump( $d ); echo '</pre>'; echo '<br />'; //FORMATANDO IMPRESSÃO - PRINT_R print_r( $d ); ?>

63 FUNÇÕES DO PHP Conheça algumas forma de visualizar o conteúdo de um array utilizando funções de iteração. Função Descrição foreach Estrutura de controle similar a while e for, oferecendo uma maneira fácil de iterar sobre arrays ( matrizes) Colocar a exibição com while [ list() , each() ]

64 ESTRUTURA DE CONTROLE: INSTRUÇÃO FOREACH
O foreach funciona somente com variáveis do tipo arrays, qualquer variável diferente de array a função retornará um erro “Warning: Invalid argument supplied for foreach()” Sintaxe Varre uma matriz dada por variavel_array. Em cada 'loop', o valor do elemento corrente é atribuído a $valor . Sintaxe alternativa Atribui a chave do elemento atual à variável $chave em cada iteração. foreach ( variavel_array as $valor ) { instrucoes } foreach ( variavel_array as $chave => $valor ) { instrucoes }

65 Aprenda fazendo Escreva o código abaixo no arquivo foreach.php
$a = array( ‘mouse’ => 30 , 'monitor' => 400 , 'teclado' => 45 ); //SINTAXE 1 foreach ( $a as $valor ) { echo $valor . ' '; } echo '<br />'; //SINTAXE 2 foreach ( $a as $chave => $valor ) echo 'Chave: ' . $chave . ', valor: ' . $valor . '<br />'; ?>

66 Operadores de array Nome Operador Exemplo Resultado União + $a + $b
O array $b é anexado a $a, mas os conflitos de chaves não são adicionados, prevalecendo $a Igualdade == $a == $b Verdadeiro se $a e $b contêm os mesmos valores com as mesmas chaves. Identidade === $a === $b Verdadeiro se $a e $b contêm os mesmos valores do mesmo tipo na mesma ordem com as mesmas chaves. Desigualdade != $a != $b Verdadeiro se $a e $b não contêm os mesmos valores. <> $a <> $b O mesmo que !=. Não-identidade !== $a !== $b Verdadeiro se $a e $b não contêm os mesmos valores do mesmo tipo na mesma ordem.

67 Aprenda fazendo Escreva o código abaixo no arquivo array_operadores.php <pre> <?php $a = array( 1 , 2 , 3 ); $b = array( 'a' => 1 , 2 , 3 ); $c = array( 1 => 2 , 2 => 3 , 0 => 1 ); $d = array( '1' , '2' , '3' ); $e = array( 5 => 'Brasil' , 6 => 'Argentina' , 7 => 'Chile' ); //UNIÃO DE ARRAYS print_r( $a + $b ); print_r( $a + $e ); //IGUALDADE DE ARRAYS var_dump( $a == $c ); //IDENTIDADE DE ARRAYS var_dump( $a === $c ); var_dump( $a === $d ); ?> </pre>

68 Aula 4 Função

69 FUNÇÕES São utilizadas para encapsular um pedaço de código que realiza uma tarefa única e bem definida. Não é possível cancelar ou alterar a definição de funções previamente declaradas. Qualquer código PHP válido pode aparecer dentro de uma função, mesmo outras funções. É iniciada com a palavra-chave function. Sintaxe declaração Sintaxe chamada function nome() { instruções da função } nome();

70 FUNÇÕES – NOMENCLATURA
É importante considerar que o nome da função deve ser descritivo – descrever o que a função faz. Não é possível sobrepor uma função – não é possível ter mais de uma função com o mesmo nome. Não é permitido cria uma função com o mesmo nome de uma função predefinida pelo PHP. Somente é permitido: letras , número e sublinhados. Não pode iniciar com número. Não é case-sensitive – nome() é igual a NOME(). Válido Inválido nome() 5nome() nome2() somar-numeros() _nome_tres() $exibir() nomeQuatro() count()

71 Aprenda fazendo Escreva o código abaixo no arquivo funcao.php
Chamando funções <?php function hello() { echo 'Hello World'; } ?> nome_da_função(); $nome_da_variável(); <?php $nome = ‘hello’; function hello() { echo 'Hello World‘ . ‘<br />’; } hello(); $nome(); ?>

72 FUNÇÕES – ESCOPO Conclusão
O que esta dentro da função só funciona dentro; O que esta fora só funciona fora da função; Todas as funções no PHP tem escopo global - elas podem ser chamadas fora de uma função mesmo que tenham sido definidas dentro e vice-versa. $a = 1; echo $a; //Exibe 1 function hello() { echo $a; //Não exibe nada } $a = 1; echo $a; //Exibe 1 function hello() { $a = 3; $b = 5; echo $a; //Exibe 3 echo $b; //Exibe 5 } echo $b; //Não exibe nada

73 FUNÇÕES – RETORNO Funciona como um exit na função.
Diferença: echo X return <?php function hello() { echo 'Hello World'; } hello(); ?> <?php function hello() { return ( 'Hello World' ); } echo hello(); ?>

74 Aprenda fazendo Escreva o código abaixo no arquivo funcao_retorno.php
function hello() { return ( 'Hello World' ); } echo hello(); $a = hello(); ?>

75 ESTUDO DE CASO – FUNÇÃO

76 FUNÇÕES – PARÂMETRO Os parâmetros permitem introduzir vários valores em uma função para influenciar seu comportamento. Todos os parâmetros serão obrigatórios excerto quando for definido como opcional (atribuído um valor padrão). É permitido informar mais parâmetros do que foi declarado na função. Não é permitido informar menos parâmetros do que foi declarado. Sintaxe function nome( $par1 , $par2 , .... ) { } function nome( $par1 , $par2 , $par3 = 1 , .... ) { }

77 Aprenda fazendo Escreva o código abaixo no arquivo funcao_parametro.php <?php function hello( $par1 ) { echo 'Hello ' . $par1; } hello( 'World' ); echo '<br />'; //FUNÇÃO COM VALOR OPCIONAL function hello2( $par1 , $par2 = 'Blue' ) echo 'Hello ' . $par1 . ' ' . $par2; hello2( 'World' ); hello2( 'World' , 'red' ); ?>

78 Escopo de variáveis Escopo refere-se ao local onde a variável é visível. Superglobal Visíveis por toda parte dentro de um script Constantes Uma vez declarada, são sempre visíveis globalmente, podem ser usadas dentro e fora das funções Variáveis Declaradas em um script são visíveis por todo esse script, mas não dentro de funções

79 <?php function calculadora( $num1 , $num2 , $operacao ) { if ( $operacao == "adicao" ) $resultado = $num1 + $num2; } elseif ( $operacao == "subtracao" ) $resultado = $num1 - $num2; elseif ( $operacao == "multiplicacao" ) $resultado = $num1 * $num2; elseif ( $operacao == "divisao" ) $resultado = $num1 / $num2; else $resultado = "Informe uma operacao valida”; return ( $resultado ); echo calculadora( 1 , 2 , “adicao" ); ?>

80 <?php function imprimirArray( $par1 ) { foreach ( $par1 as $valor ) $b = $b . $valor; } return ( $b ); $a = array( 1 , 2 , 3 , 4 , 5 ); echo imprimirArray( $a ); ?>

81 FUNÇÕES – PARÂMETRO POR REFERÊNCIA
Veja aprenda fazendo.

82 Aprenda fazendo Escreva o código abaixo no arquivo funcao_parametro_por_referencia.php <?php function incrementar( &$par1 , $incremento = 1 ) { $par1 = $par1 + $incremento; } $valor = 10; echo $valor . '<br />'; incrementar( $valor ); echo '<br />'; $valor2 = 20; echo $valor2 . '<br />'; incrementar( $valor2 , 5 ); ?>

83 Aula 5 Orientação a Objetos

84 ORIENTAÇÃO A OBJETOS – 10 HORAS
- Declaração de classe - Nomenclatura - Instanciar classe - Utilizar atributos e métodos de classe

85 OOP – PROGRAMAÇÃO ORIENTADA A OBJETOS

86 DECLARAÇÃO DE CLASSE A classe é formada por: Sintaxe
Atributos ( variáveis ) utilizando a palavra-chave var; Métodos ( funções ) utilizando a palavra-chave function; Sintaxe class NomeDaClasse { var $atributo; function metodo() }

87 Aprenda fazendo Escreva o código abaixo no arquivo classe.php <?php
class NomeDaClasse { var $atributo1; var $atributo2; function metodo1() } function metodo2( $par1 , $par2 ) ?>

88 Nomenclatura Não é possível declarar mais de um atributo ou método com o mesmo nome. Classe Atributo Método

89 Instanciar classe Após declarar uma classe, é possível criar um ou vários objetos que seja membro dela. A criação de objetos é conhecida também como criar uma instância ou instanciar uma classe. Para informar ao servidor que queremos instanciar uma classe iremos utilizar a palavra-chave new. Neste momento, a variável $a possui um objeto da classe NomeDaClasse. class NomeDaClasse { var $atributo; function metodo() } $a = new NomeDaClasse();

90 Utilizar atributos e métodos de classe
Todos os atributos e métodos de uma classe pertencem apenas ao escopo da classe e de seus objetos, Não é possível utilizar um atributo ou chamar um método sem referenciar sua classe. Sintaxe para utilização fora da classe. class NomeDaClasse { var $atributo; function metodo() } $a = new NomeDaClasse(); $a->atributo; $a->atributo = 1; $a->metodo();

91 Aprenda fazendo Escreva o código abaixo no arquivo instanciar_classe.php <?php class Carro { var $ano; var $cor; function andar() return('Método que faz o carro andar!'); } //CRIAR UMA INSTÂNCIA DA CLASSE CARRO. $carro1 = new Carro(); //ATRIBUIR VALORES AO OBJETO. $carro1->ano = 2009; $carro1->cor = 'Prata'; //IMPRIMIR VALORES DO OBJETO. echo $carro1->ano; echo '<br />'; echo $carro1->cor; //CHAMAR FUNCIONALIDADES DO OBJETO. echo $carro1->andar(); ?>

92 Estudo de caso – PROCURAR EXEMPLOS QUE EXEMPLIFIQUE A USO DE HERANÇA, POIS SERA UTIL PARA APROVEITAR NESSE ESTUDO DE CASO Arquivo: estudo_caso_instanciar_classe.php Impressão: Ano: 2009 Cor: Preto Velocidade: 300 Moto andando… Moto Parada Transporte + ano + cor + velocidade + andar() + parar()

93 Utilizar atributo e método interno
Para ter acesso a atributos ou métodos dentro de uma classe, deverá ser utilizado a palavra-chave $this ( variável nativa ). $this é uma usada para referenciar o objeto corrente (objeto utilizado no momento). Sintaxe para utilização dentro da classe. class NomeDaClasse { var $atributo; function metodo() $this->atributo; $this->metodo2(); } function metodo2() $a = new NomeDaClasse(); $a->atributo = 3; $a->metodo();

94 Categoria + nome + descricao + inserir () + alterar() + excluir() + listar()

95 <?php class Carro { var $ano; var $cor; function andar() return( 'Método que faz o carro andar!<br />‘ . $this->obterInformacao() ); } function obterInformacao() return('Informações obtidas - Ano: ' . $this->ano . ' , Cor: ' . $this->cor); //CRIAR UMA INSTÂNCIA DA CLASSE CARRO. $carro1 = new Carro(); //ATRIBUIR VALORES AO OBJETO. $carro1->ano = 2009; $carro1->cor = 'Prata'; //IMPRIMIR VALORES DO OBJETO. echo $carro1->ano; echo '<br />'; echo $carro1->cor; //CHAMAR FUNCIONALIDADES DO OBJETO. echo $carro1->andar(); echo $carro1->obterInformacao(); ?>

96 Utilizar atributo e método de outra classe

97 Herança É ser capaz incorporar os atributos e métodos de uma classe previamente definida. Para uma classe herdar atributos e métodos de outra classe usa-se a palavra-chave extends. class A { var $atributo1; function metodo1() } class B extends A var $atributo2; function metodo2() $b = new B(); $b->atributo2; $b->metodo2(); $b->atributo1; $b->metodo1();

98 Aprenda fazendo Arquivo: usuario.php <?php class Usuario {
var $nome; var $ ; var $senha; function inserir() return ('Chamando método para inserir usuário.'); } function obterInformacao() return ('Obter Informações de Usuário.'); ?>

99 Aprenda fazendo Arquivo: cliente.php Arquivo: funcionario.php <?php
class Cliente extends Usuario { } ?> <?php class Funcionario extends Usuario { var $cargo; var $salario; } ?>

100 Aprenda fazendo Arquivo: cliente.php <?php
class Cliente extends Usuario { } $objeto = new Cliente(); $objeto->nome = 'Junior'; $objeto-> = $objeto->senha = '123'; echo $objeto->inserir(); echo $objeto->obterInformacao(); ?>

101 Aprenda fazendo Arquivo: funcionario.php <?php
class Funcionario extends Usuario { var $cargo; var $salario; } $objeto = new Funcionario(); $objeto->nome = 'Júnior'; $objeto-> = $objeto->senha = '123'; $objeto->cargo = 'Programador'; $objeto->salario = 3000; echo $objeto->inserir(); echo $objeto->obterInformacao(); ?>

102 FUNÇÕES DO PHP Conheça algumas forma de importar arquivos . Função
Descrição require Importar o arquivo informado para o arquivo que esta chamando a função, caso não seja encontrado o arquivo informado será exibido um Warning seguido de um Fatal error. include Semelhante ao require porém, caso não seja encontrado o arquivo informado será exibido apenas um Warning. require_once Identico ao require porém importa o arquivo apenas uma unica vez. include_once Identico ao include porém importa o arquivo apenas uma unica vez. Colocar a exibição com while [ list() , each() ]

103 Aprenda fazendo - require
Arquivo: cliente.php Arquivo: funcionario.php <?php require_once('usuario.php'); class Cliente extends Usuario { ... } ?> <?php require_once('usuario.php'); class Funcionario extends Usuario { ... } ?>

104 Polimorfismo

105 Aprenda fazendo Arquivo: funcionario.php <?php
require_once('usuario.php'); class Funcionario extends Usuario { var $cargo; var $salario; function obterInformacao() return ('Obter Informações de Funcionário.'); } $objeto = new Funcionario(); $objeto->nome = 'Junior'; $objeto-> = $objeto->senha = '123'; $objeto->cargo = 'Programador'; $objeto->salario = 3000; echo $objeto->inserir(); echo $objeto->obterInformacao(); ?>

106 Aprenda fazendo Arquivo: funcionario.php <?php
require_once('usuario.php'); class Funcionario extends Usuario { var $cargo; var $salario; function obterInformacao() return ('Obter Informações de Funcionário.<br />' . 'Nome: ' . $this->nome . '<br />' . ' ' . $this-> . '<br />' . 'Senha: ' . $this->senha . '<br />' . 'Cargo: ' . $this->cargo . '<br />' . 'Salário: ' . $this->salario . '<br />'); } $objeto = new Funcionario(); ... ALIMENTAÇÃO DO OBJETO ... ?>

107 Estudo de caso Saída do arquivo: funcionario.php
Chamando método para inserir usuário. Obter Informações de Funcionário. Nome: Júnior Senha: 123 Cargo: Programador Salário: 3000 Saída do arquivo: cliente.php Obter Informações de Usuário.

108 Visibilidade Conheça as quatro formas de especificar atributos e métodos de classe. Acesso Descrição public (default) Os recursos podem ser acessados de dentro ou de fora da classe. private Os recursos podem ser acessados apenas dentro da classe onde foi definido e não serão herdados. protected Os recursos podem ser acessados apenas dentro da classe onde foi definido e em seus descendentes. final Os recursos podem ser acessados de dentro ou de fora da classe, mas não podem ser sobreposto em seus descendentes.

109 Aprenda fazendo Escreva o código abaixo no arquivo visibilidade.php
class A { public $atributo1; protected $atributo2; private $atributo3; public function metodo1() echo 'Chamando o método 1! <br />'; } protected function metodo2() echo 'Chamando o método 2! <br />'; private function metodo3() echo 'Chamando o método 3! <br />'; public function metodo4() $this->atributo3; $this->metodo3(); echo 'Chamando o método 4! <br />';

110 CONTINUAÇÃO... class B extends A { public function metodo5()
$this->atributo1; $this->atributo2; //$this->atributo3; //Ocorre erro porque o $atributo3 é private. $this->metodo1(); $this->metodo2(); //$this->metodo3(); //Ocorre erro porque o metodo3() é private. } $a = new A(); $a->atributo1; //$a->atributo2; //Ocorre erro porque o $atributo2 é protected. //$a->atributo3; //Ocorre erro porque o $atributo3 é private. $a->metodo1(); //$a->metodo2; //Ocorre erro porque o metodo2() é protected. //$a->metodo3; //Ocorre erro porque o metodo3() é private. $a->metodo4(); $b = new B(); $b->atributo1; $b->metodo1(); $b->metodo5(); ?>

111 Visibilidade final Não permite sobrepor um método.

112 Aprenda fazendo Escreva o código abaixo no arquivo visibilidade_final.php <?php class A { public $atributo1; public function metodo1() echo 'Chamando o método 1! <br />'; } final function metodo2() echo 'Chamando o método 2! <br />'; class B extends A //O MÉTODO metodo2 FOI DEFINIDO COMO final NA CLASSE A. public function metodo2() ?>

113 Construtor É chamado automaticamente quando um objeto é criado.
Deve ser definido como público, para poder instanciar objetos de fora da classe. Para definir métodos como construtor de uma classe, deverá ser utilizado a palavra-chave __construct. class NomeDaClasse { public $atributo; public function __construct() } $a = new NomeDaClasse();

114 Aprenda fazendo Arquivo: construtor.php <?php class A { var $cargo;
var $salario; public function __construct() return ('Chamando o método construtor.'); } $objeto = new Funcionario(); $objeto->nome = 'Junior'; $objeto-> = $objeto->senha = '123'; $objeto->cargo = 'Programador'; $objeto->salario = 3000; echo $objeto->inserir(); echo $objeto->obterInformacao(); ?> return 'Chamando o método construtor! <br />'; public function metodo1() return 'Chamando metodo1! <br />'; $a = new A(); $a->metodo1();

115 Aprenda fazendo Escreva o código abaixo no arquivo construtor.php
class A { public function __construct() echo 'Chamando o método construtor! <br />'; } public function metodo1() return 'Chamando metodo1! <br />'; class B public function __construct( $mensagem ) return 'Chamando o método construtor com a mensagem ' . $mensagem . '! <br />'; $a = new A(); $a->metodo1(); $b = new B( 'Hello Construct Class' ); ?>

116 Atributos e métodos estáticos
Um método estático não pode chamar atributos não-estáticos.

117 Aprenda fazendo Escreva o código abaixo no arquivo static.php <?php
class A { public static $atributo1 = '123 <br />'; public static function metodo1() echo 'Chamando metodo1! <br />'; } //CHAMAR ESTATICAMENTE. A::metodo1(); //O método pode ou não ser static. echo A::$atributo1; //O atibuto deve ser static. echo '<br />'; //CHAMAR POR OBJETO. $a = new A(); $a->metodo1(); //O método pode ou não ser static. echo $a->atributo1; //Não é possível chamar atributo estático pelo objeto; ?>

118 Atributos e métodos estáticos
Para ter acesso a atributos ou métodos estáticos dentro de uma classe, devemos utilizar a palavra-chave self::

119 COMPARANDO STATIC COM NÃO-STATIC

120 Desabilite (comentando) todo o script do static.php
Escreva o código abaixo no arquivo static.php <?php class A { public static $atributo1 = '123 <br />'; public static function metodo1() echo self::$atributo1; echo 'Chamando metodo1! <br />'; self::metodo2(); } public static function metodo2() echo 'Chamando metodo2! <br />'; //CHAMAR ESTATICAMENTE. A::metodo1(); //O método pode ou não ser static. echo A::$atributo1; //O atibuto deve ser static. echo '<br />'; //CHAMAR POR OBJETO. $a = new A(); $a->metodo1(); //O método pode ou não ser static. echo $a->atributo1; //Não é possível chamar atributo estático pelo objeto; ?>

121 PADRÃO GET E SET Utilizar os atributos da classe sempre private, excerto quando a regra de negócio não permitir. class NomeDaClasse { private $atributo; public function getAtributo() return ( $this->atributo ); } public function setAtributo( $valor ) $this->atributo = $valor; $a = new NomeDaClasse(); $a->setAtributo( 'Brasil' ); $a->getAtributo();

122 Aprenda fazendo Escreva o código abaixo no arquivo get_set.php
class Carro { private $ano; private $cor; public function getAno() return $this->ano; } public function setAno( $valor ) $this->ano = $valor; public function getCor() return $this->cor; public function setCor( $valor ) $this->cor = $valor; $a = new Carro(); //$a->ano; //Atributo privado é acessado somente dentro da classe. $a->setAno( 2009 ); echo $a->getAno() . '<br />'; $a->setCor( 'Branco' ); echo $a->getCor(); ?>

123 Estudo de caso Implementar o Padrão Get Set nas classes: Usuario
Funcionario Cliente

124 Estudo de caso Arquivo: estudo_caso_calculadora_get_set.php
- num1 - num 2 + getNum1() + setNum1( $value ) + getNum2() + setNum2( $value ) + somar() + subtrair() + multiplicar() + dividir()

125 Estudo de caso – acessar atribúto privado
Class Funcionario Ladrao 6% Mulher 50% Receita 100% Pretendente 2x Se nao informar ninguem pede para informar quem que ver.

126 Aprenda fazendo Arquivo: funcionario.php <?php
class Funcionario extends Usuario { private $cargo; private $salario; public function getSalario( $interessado == 'receita' ) if( $interessado == 'receita' ) return( $this->salario ); } elseif( $interessado == 'ladrão' ) return( $this->salario * 0.06 ); ... $objeto = new Funcionario(); $objeto->getSalario( ‘ladrão’ ); $objeto-> = $objeto->senha = '123'; echo $objeto->inserir(); echo $objeto->obterInformacao(); ?>

127 - Métodos GET, POST, REQUEST
PROGRAMAÇÃO WEB - Métodos GET, POST, REQUEST

128 Método Get, Post e Request

129 Explicar como passar variaveis pela url

130 Fazer um form_funcionario
Fazer um form_funcionario.html e enviar para class Funcionario e exibir os dados da mesma.

131 Estudo de caso form_calculadora.html processar_form_calculadora.php
POST Calculadora - num1 num 2 operacao + getNum1() + setNum1( $value ) + getNum2() + setNum2( $value ) + getOperacao + setOperacao( $value ) + calcular() Número 1: Número 2: Operação: Calcular

132 - Abrir conexão - Executar comandos SQL
PHP + MySQL – 5 horas - Abrir conexão - Executar comandos SQL

133 FUNÇÕES DO PHP Conheça mais algumas funções necessárias. Função
Descrição mysql_connect() Abre ou reutiliza uma conexão com um servidor MySQL. die() Construtor da linguagem equivalente a exit(). mysql_error() Retorna o texto do erro da ultima função MySQL. mysql_select_db Seleciona um banco de dados MySQL.

134 ABRIR CONEXÃO

135 Aprenda fazendo Escreva o código abaixo no arquivo conexao.php
//TENTAR ABRIR UMA CONEXÃO COM BANCO DE DADOS. $linkConexao = mysql_connect( 'localhost' , 'root', '‘ ) or die( 'Não foi possível se conectar ao servidor MySQL: ' . mysql_error() ); //SELECIONAR BANCO DE DADOS mysql_select_db( 'banco_1' , $linkConexao ) or die( 'Não foi possível selecionar o banco da dados.' ); ?>

136 FUNÇÕES DO PHP Conheça mais algumas funções necessárias. Função
Descrição require() A instrução inclui e avalia o arquivo informado. mysql_query() Envia uma consulta MySQL. mysql_num_rows() Obtém o número de linhas em um resultado

137 Executar comandos SQL

138 Aprenda fazendo Escreva o código abaixo no arquivo executar_comandos_sql.php <?php //IMPORTAR O ARQUIVO DE CONEXÃO COM O BANCO DE DADOS. require( 'conexao.php' ); //Executando a consulta SQL $comandoSQL = “INSERT INTO carro (modelo,ano,cor) VALUES (‘monza’,1993,’Preto’)”; $resultado = mysql_query( $comandoSQL ); ?>

139 $linha_afetada1 = mysql_fetch_assoc($resultado); echo $linha_afetada1[‘modelo’] . ‘<br />’; echo $linha_afetada1[‘cor’] . ‘<br />’; echo $linha_afetada1[‘ano’] . ‘<br />’; Echo ‘<br />’; $linha_afetada2 = mysql_fetch_assoc($resultado); echo $linha_afetada2[‘modelo’] . ‘<br />’; echo $linha_afetada2[‘cor’] . ‘<br />’; echo $linha_afetada2[‘ano’] . ‘<br />’;

140 while ( $linha_afetada = mysql_fetch_assoc($resultado) ) { echo $linha_afetada[‘modelo’] . ‘<br />’; echo $linha_afetada[‘cor’] . ‘<br />’; echo $linha_afetada[‘ano’] . ‘<br />’; echo ‘<br />’; }

141 Estudo de caso form_inserir_usuario.html sql_inserir_usuario.php
POST Usuario - nome senha + getNome() + setNome( $value ) + getLogin() + setLogin( $value ) + getSenha() + setSenha( $value ) + inserir() Nome: Senha: Salvar

142 Estudo de caso Complete os get’s e set’s para todos os atributos.
sql_inserir_usuario.php Estudo de caso Complete os get’s e set’s para todos os atributos. <?php //1. IMPORTAR CONEXÃO DO BANCO DE DADOS. require 'conexao.php'; //2. ESCREVER COMANDO SQL. $comandoSQL = "INSERT INTO usuario( nome , , senha ) VALUES ( '" . $_POST['nome'] . "' , '" . $_POST[' '] . "' , '" . $_POST['senha'] . "' )"; //3. EXECUTAR COMANDO SQL. $resultado = mysql_query( $comandoSQL ); //4. EXIBIR MENSAGEM DE RETORNO. if ($resultado == true) { echo 'Usuário inserido com sucesso .'; } else echo'Falha ao inserir usuário.'; ?>

143 Listar_usuarios.php <table border=”1”> <tr bgcolor=“#F7F7F7”> <td width=“100”>Código</td> <td width=“200”>Nome</td> <td width=“60”>Editar</td> <td width=“60”>Excluir</td> </tr> <tr> <td width=“100”>1</td> <td width=“200”>Junior</td> <td width=“60”>Ed</td> <td width=“60”>Ex</td> </table>

144 <. php require ‘conexao. php’; $comando_sql = “SELECT
<?php require ‘conexao.php’; $comando_sql = “SELECT * FROM usuario”; $resultado = mysql_query( $comando_sql ); if ($resultado == false) { exit( ‘Falha ao recuperar usuário.’ ); } $numLinhas = mysql_num_rows($resultado); if ( $numLinhas == 0 ) exit( ‘Nenhum usuário encontrado.’ ) ?>

145 <. php while( $linha_afetada = mysql_fetch_assoc($resultado) ){
<?php while( $linha_afetada = mysql_fetch_assoc($resultado) ){ ?> <tr> <td width=“100”><?php echo $linha_afetada[‘id_usuario’]?></td> <td width=“200”><?php echo $linha_afetada[‘nome’]?></td> <td width=“60”><a href=“form_alterar_usuario.php? id=<?php echo $linha_afetada[‘id_usuario’]?>”>Ed</a></td> <td width=“60”> <a href=“confirmar_exclusao_usuario.php?id=<?php echo $linha_afetada[‘id_usuario’]?>”> Ex</a></td> </tr> <?php } ?>

146 Cria os dois arquivos de alterar e de confirmar exclusao

147 Arquivo: form_alterar_usuario.php <form action=“sql_alterar_usuario.php” method=“POST”> Nome: <input type=“text” name=“nome” value=“123” /> <br /> <input type=“text” name=“ ” value=“123” /> Senha: <input type=“password” name=“senha” value=“123” /> <input type=“submit” value=“salvar”> </form> <a href=“listar_usuarios.php”>Voltar para lista</a>

148 Arquivo: confirmar_exclusao_usuario
Arquivo: confirmar_exclusao_usuario.php Deseja realmente excluir o usuario? <br /> <a href=“sql_excluir_usuario.php?id=<?php echo $_GET[‘id’]?>”>Sim</a> <a href=“listar_usuarios.php”>Nao</a>

149 Arquivo: sql_excluir_usuario. php <
Arquivo: sql_excluir_usuario.php <?php require ‘conexao’; $comandoSQL = “DELETE FROM usuario WHERE id_usuario =“ . $_GET[‘id’]; $resultado = mysql_query( $resultado ); If( $resultado == true) { echo ‘Usuário excluido com sucesso.’; } else echo ‘Falha ao excluir o usuário.’; ?> <br /> <a href=“listar_usuarios.php”>Voltar para lista de usuários.</a>

150 Arquivo: form_alterar_usuario. php <. php require ‘conexao
Arquivo: form_alterar_usuario.php <?php require ‘conexao.php’; $comandoSQL = “SELECT * FROM usuario WHERE id_usuario = ” . $_GET[‘id’]; $resultado = mysql_query( $comandoSQL ); if ($resultado == false) { exit(‘Falha ao executar comando SQL’); } $num_linhas = mysql_num_rows( $resultado ); if ( $num_linhas == 0 ) exit(‘’Nenhum usuário encontrado com o código informado); … continua no proximo slide

151 Arquivo: form_alterar_usuario
Arquivo: form_alterar_usuario.php …continuacao… $linha_afetada = mysql_fetch_assoc( $resultado ); ?> <form action=“sql_alterar_usuario.php” method=“POST”> Nome: <input type=“text” name=“nome” value=“<?php echo $linha_afetada [‘nome’]?>” /> <br /> <input type=“text” name=“ ” value=“123” /> Senha: <input type=“password” name=“senha” value=“123” /> <input type=“text” name=“id” value=“<?php echo $_GET[‘id’]?>”> <input type=“submit” value=“salvar”> </form> <a href=“listar_usuarios.php”>Voltar para lista</a>

152 Alterar sql_alterar_usuario.php <?php require 'conexao';
//2. ESCREVER COMANDO SQL. $comandoSQL = "UPDATE usuario SET nome = '" . $_POST['nome'] . "' , = '" . $_POST[' '] . "' , senha = '" . $_POST['senha'] . "' WHERE id_usuario = " . $_POST['id']; //3. EXECUTAR COMANDO SQL. $resultado = mysql_query( $comandoSQL ); //4. EXIBIR MENSAGEM DE RETORNO. if ( $resultado == true ) { echo 'Usuário alterado com sucesso.'; } else echo 'Falha ao alterar usuário.'; ?> <a href=“listar_usuarios.php”>Voltar para lista</a>

153 Mudar campo id para hidden

154 ARQUITETURA PRIMÁRIA sql_inserir_usuario.php sql_alterar_usuario.php
sql_excluir_usuario.php POST POST GET form_inserir_usuario.html form_alterar_usuario.php confirmar_exclusao_usuario.php listar_usuario.php

155 ARQUITETURA PRIMÁRIA - OO
Qual método? ARQUITETURA PRIMÁRIA - OO Usuario.php Usuario id_usuario nome senha + inserir() + alterar() + listar() + excluir() + confirmarExclusao() + exibirFormInserir() + exibirFormAlterar() + buscarTodos() + buscarPorId() form_inserir_usuario.html POST form_alterar_usuario.html POST listar.html GET confirmar_exclusao_usuario.html GET

156 ARQUITETURA PRIMÁRIA CENTRALIZADA – OO
Qual class ? Qual método? ARQUITETURA PRIMÁRIA CENTRALIZADA – OO form_inserir_usuario.html POST Index.php form_alterar_usuario.html POST listar.html GET Usuario.php confirmar_exclusao_usuario.html GET

157 Primeiro passo. Criar tabela no banco de dados. CREATE TABLE usuario (
id_usuario int not null auto_increment, nome varchar(100), varchar(50), senha varchar(15), primary key (id_usuario) )

158 Segundo passo Criar o formulário de inserção.
form_inserir_usuario.html Segundo passo Criar o formulário de inserção. <form action="index.php?classe=Usuario&metodo=inserir" method="POST"> Nome: <input name="nome"> <br /> <input name=" "> Senha: <input name="senha"> <input type="submit" value="Salvar"> </form>

159 Usuario.php Terceiro passo Criar método na classe, para exibir o formulário de inserção <?php class Usuario { public function exibirFormInserir() require( 'form_inserir_usuario.html' ); } ?>

160 index.php?classe=Usuario&metodo=exibirFormInserir

161 Quarto passo Criar e encapsular os atributos da classe.
Usuario.php Quarto passo Criar e encapsular os atributos da classe. Complete os get’s e set’s para todos os atributos. <?php class Usuario { private $idUsuario; private $nome; private $ ; private $senha; public function setId( $valor ) $this->idUsuario = $valor; } public function getId() return( $this->idUsuario ); ?>

162 Quinto passo Criar o método inserir.
Usuario.php Quinto passo Criar o método inserir. Complete os get’s e set’s para todos os atributos. <?php class Usuario { public function inserir() //1. CRIAR UM OBJETO E ALIMENTAR COM OS DADOS DO FOMULÁRIO. $objeto = new Usuario(); $objeto->setNome( $_POST['nome' ] ); $objeto->set ( $_POST[ ' ' ] ); $objeto->setSenha( $_POST[ 'senha' ] ); //2. ESCREVER COMANDO SQL. $comandoSQL = "INSERT INTO carro ( nome , , senha ) VALUES ( '" . $objeto->getNome() . "' , '" . $objeto->get () . "' , '" . $objeto->getSenha() . "' )"; //3. EXECUTAR COMANDO SQL. $resultado = mysql_query( $comandoSQL ); //4. EXIBIR MENSAGEM DE RETORNO. } ?>

163 Página controladora 1 – Recuperar classe e método;
Index.php 1 – Recuperar classe e método; 2 – Importar (require) arquivo da classe informada. 3 – Cria um objeto da classe informada. 4 – Chamar o método informado pela url, na classe importada <?php //RECUPERAR A CLASSE E O MÉTODO INFORMADO PELO USUÁRIO ATRAVÉZ DA URL. $classe = $_GET[ 'classe' ]; $metodo = $_GET[ 'metodo' ]; //DEFINIR UMA CLASSE E UM MÉTODO PADRÃO if ( $classe == false ) $classe = 'Usuario'; if ( $metodo == false ) $metodo = 'listar'; //IMPORTAR A CLASSE INFORMADA PELA URL. require( $classe . '.php' ); //CRIAR OBJETO DA CLASSE INFORMADA. $objClasse = new $classe(); //ACESSAR O MÉTODO INFORMADO PELA URL. $objClasse->$metodo(); ?>

164 <. php $resultadoCategoria = Categoria::buscarTodos();
<?php $resultadoCategoria = Categoria::buscarTodos(); ?> <form action=“index.php?classe=produto&metodo=inserir”> <?php if ($resultadoCategoria == true) :?> <select name=“categoria”> <?php while( $linha_afetada = mysql_fetch_assoc( $resultadoCategoria ) ):?> <option value=“<?php echo $linha_afetada[‘id_categoria’]?>”><?php echo $linha_afetada[‘nome’]?></option> <?php endwhile;?> </select> <?php endif;?>

165 Aprenda fazendo Escreva o código abaixo no arquivo executar_comandos_sql.php <?php //IMPORTAR O ARQUIVO DE CONEXÃO COM O BANCO DE DADOS. require( 'conexao.php' ); //Executando a consulta SQL $comandoSQL = 'SELECT * FROM carro'; $resultado = mysql_query( $comandoSQL , $linkConexao ); //RECUPERAR QUANTIDADE DE REGISTROS ENCONTRADOS. $numeroLinhas = mysql_num_rows( $resultado ); if ( $numeroLinhas == 0 ) { exit( 'Nenhum registro encontrado.' ); } //EXIBIR NÚMERO DE REGISTROS ENCONTRADOS. echo 'Foram encontrados: ' . $numeroLinhas . ' registros.<br /><br />'; //RECUPERAR CADA LINHA OBTIDA NO RESULTADO. while ( $linhaAfetada = mysql_fetch_assoc( $resultado ) ) echo 'Código: ' . $linhaAfetada['id_carro'] . '<br />'; echo 'Modelo: ' . $linhaAfetada['modelo'] . '<br />'; echo 'Cor: ' . $linhaAfetada['cor'] . '<br />'; echo 'Ano: ' . $linhaAfetada[‘ano'] . '<br />'; echo '<br />'; ?>

166 REFERÊNCIA BIBLIOGRÁFICAS
PHP Zend.PHP.5.Certification.Study.Guide.2006 MySQL [acessado em 1 de maio de 2009 as 21Hrs] [acessado em 1 de maio de 2009 as 20Hrs] [acessado em 1 de maio de 2009 as 21Hrs]

167 Aprenda fazendo Escreva o código abaixo no arquivo heranca.php
Fazer um exemplo mas simples para exemplificar a herança porque esse do transporte sera usando para exeplificar require. <?php class Transporte { var $velocidade; function andar() echo 'Transporte andando! <br /> '; } class Carro extends Transporte var $cor; var $rodas; function ligar() echo 'Carro ligado! <br /> '; function obterInfo() echo 'Cor: ' . $this->cor . ' Quantidade de rodas: ' . $this->rodas . ' Velocidade Máxima: ' . $this->velocidade . '<br />‘;

168 Aprenda fazendo Arquivo: class_transporte.php <?php
{ var $velocidade; function andar() echo 'Transporte andando! <br /> '; } ?>

169 Aprenda fazendo Arquivo: class_carro.php <?php
class Carro extends Transporte { var $cor; var $rodas; function ligar() echo 'Carro ligado! <br /> '; } function obterInfo() echo 'Cor: ' . $this->cor . ' Quantidade de rodas: ' . $this->rodas . ' Velocidade Máxima: ' . $this->velocidade . '<br />‘; ?>

170 <?php class Transporte { var $velocidade; function andar() echo 'Transporte andando! <br /> '; } class Carro extends Transporte var $cor; var $rodas; function ligar() echo 'Carro ligado! <br /> '; function obterInfo() echo 'Cor: ' . $this->cor . ' Quantidade de rodas: ' . $this->rodas . ' Velocidade Máxima: ' . $this->velocidade . '<br />‘; $carro1 = new Carro(); $carro1->cor = 'Vermelho'; $carro1->rodas = 4; $carro1->velocidade = 130; $carro1->ligar(); $carro1->obterInfo(); $carro1->andar(); ?>

171 <?php require ( ‘class_transporte.php’ ); class Carro extends Transporte { var $cor; var $rodas; function ligar() echo 'Carro ligado! <br /> '; } function obterInfo() echo 'Cor: ' . $this->cor . ' Quantidade de rodas: ' . $this->rodas . ' Velocidade Máxima: ' . $this->velocidade . '<br />‘;


Carregar ppt "40 Horas Instrutor: Antonio Itamar Júnior"

Apresentações semelhantes


Anúncios Google