Anda di halaman 1dari 106

Desenvolvimento web:

PHP Orientado Objetos

Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Pblico-Alvo
Alunos de cursos voltados para tecnologia: o Sistemas de Informao o Cincia da Computao o etc... Pessoas que j possuem conhecimento prvio de lgica de programao e HTML.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Objetivo
O objetivo desse curso ensinar os conceitos bsicos da linguagem PHP, proporcionando aos alunos conhecimento suficiente para iniciarem seus projetos de programao orientada objeto utilizando est linguagem. Com a base adquirida nesse curso, a aprendizagem autodidata de outros recursos PHP se tornar muito mais fcil.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Leituras Recomendadas

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Contedo Programtico
- Mdulo I -

Introduo ao Mundo PHP

- Mdulo II -

A Linguagem PHP

- Mdulo III -

PHP OO - Programao Orientada Objetos com PHP


- Mdulo IV -

Soluo para os dados volteis: Sesso


Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Introduo ao Mundo PHP


Desenvolvimento web:
PHP Orientado Objetos

- Mdulo I -

Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Vida de programador!

http://www.youtube.com/watch?v=apREUmNp9Ec&feature=related
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Algum se identificou???
Aps o momento de descontrao, agora vamos trabalhar!

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Vou aprender a pensar no curso?

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

No!..Voc no vai aprender a pensar aqui!


Durante o curso, voc vai aprender a sintaxe do PHP e a lgica dos recursos que ele oferece, porm isso no garante que voc ir fazer bons softwares com esse conhecimento. Todos ns sabemos a gramtica da lngua portuguesa e como se escreve, porm nem todos ns temos o dom de escrever boas redaes. Com linguagens de programao a mesma coisa!
No portugus, a prtica da escrita trz melhoras considerveis na qualidade das redaes escritas por quem exercita. A prtica da programao tambm trz melhoras de raciocnio e qualidade de software dos programadores!
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

O que Programao Server-Side?


PHP uma linguagem de programao interpretada pelos servidores na internet (server-side). O Servidor recebe as requisies dos clientes, processa os scripts PHP e retorna para os clientes o PHP j processado em forma de HTML que visualizado no navegador(browser). O cliente NUNCA conseguir ver o cdigo PHP.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Demonstrando programa Server-Side


Requisio index.php (1) Processamento index.php (3)

index.php processado (5) (2) (4)

index.php

Arquivo

Banco de Dados

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Isso te faz lembrar alguma coisa?

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

PHP computao nas nuvens!


Todo sistema desenvolvido em PHP se enquadra no novo conceito de computao nas nuvens. Nesse novo conceito computacional, os dados e softwares migram dos computadores e servidores locais para as nuvens de informao, que so milhares de servidores em cluster espalhados por diversos pontos geogrficos.

Algumas das vantagens da utilizao do PHP se confundem com as vantagens da computao nas nuvens.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Vantagens da utilizao do PHP


PHP software livre! Portabilidade (Independe de Sistema Operacional ou equipamento) Mobilidade (Acesso aos dados de qualquer lugar!)

Os softwares desenvolvidos so leves na viso do cliente.


Possui uma das maiores comunidades de programadores da internet: o iMasters - http://forum.imasters.uol.com.br/ o HTMLSTAFF - http://www.htmlstaff.org/ o PHP MG...

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Grupo de desenvolvedores PHP de Minas Gerais


Site do Grupo: http://www.phpmg.com Lista do Google Groups: http://groups.google.com/group/phpmg

Comunidade do Orkut: http://www.orkut.com.br/Main#Community.aspx?cmm=2699 2151

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Ambiente WAMP
Para programar em PHP no ambiente Windows, as tecnologias mais utilizadas atualmente e que precisam estarem instaladas no computador do programador so:

o Windows o Apache o MySQL o PHP


WAMP um sistema indicado para os usurios que no tm instalado no sistema nenhuma dessas tecnologias (o Windows j deve estar instalado!), j que ele realiza uma instalao completa e desde o zero. o DOWNLOAD: http://www.wampserver.com/en/download.php

Todos os seus programas PHP devem ser salvos na pasta chamada "WWW" do WAMP.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Ferramentas para desenvolvimento


NotePad NotePad++ : http://www.baixaki.com.br/download/notepad-.htm Eclipse: http://www.eclipse.org/pdt/

Zend Studio: http://www.zend.com/en/products/studio/downloads

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Hello World!

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Hello World!

<?php

echo("<center>Hello World!</center>");
?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Cad o PHP??
J no navegador visualizando o seu Hello World!, entre na opo "exibir cdigo-fonte" (Ctrl+U no Firefox).

Voc deve ter reparado que s apareceu cdigos HTML. Isso acontece porque o servidor j processou o cdigo PHP quando voc fez a requisio de abrir a pgina e devolveu ao cliente (browser) somente o HTML de visualizao.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

A Linguagem PHP
Desenvolvimento web:
PHP Orientado Objetos

- Mdulo II -

Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

PHP escreve HTML!

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Conceitos bsicos da Linguagem


Todo programador PHP deve conhecer muito bem as Tags HTML, pois todas as partes visuais das aplicaes PHP so feitas pelo HTML. O PHP escreve HTML e tambm pode ser escrito misturado com o HTML.
Como o PHP tem a capacidade de escrever HTML, ele pode ser usado para "formatar" a apresentao do PHP, dando cores, formas e posies na tela.
o

Exemplo prtico: Desenvolver uma pgina que escreve uma tabela HTML utilizando o PHP.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo Tabela HTML com PHP


<?php //arquivo "tabela_com_php.php" ?> <html> <head><title>Tabela HTML com PHP</title></head> <body> <?php echo("<table align='center' border='1'> <tr> <th colspan='2' align='center'>Tabela HTML com PHP</th> </tr> <tr> <td align='center'>Lucas</td><td align='center'>Vegi</td> </tr>"); ?> </body> </html>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Tipos de dados
PHP suporta vrios tipos de dados, dentre eles os principais so:
o o o o o o

Boolean Integer Float String Array Objeto (Veremos no mdulo III)

A tipagem em PHP dinmica, ou seja, em PHP no necessrio especificar os tipos das variveis. possvel atribuir qualquer valor a qualquer varivel, pois o interpretador PHP faz a alterao do tipo da varivel de forma automtica e transparente.

Em PHP todas as variveis so antecedidas de $ (cifro ou cash).

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Variveis em PHP
Exemplo de declarao de varivel em PHP: o $nome_da_variavel; No exemplo prtico a seguir, veremos o uso de variveis com o PHP fazendo a interpretao automtica de tipos.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo das variveis dinmicas


<?php $teste; $teste = 1; echo("Valor inteiro: ".$teste."<br>"); $teste = $teste + 3.6; echo("Valor float: ".$teste."<br>"); $teste = true; //atribui valor boolean echo("Valor Boolean: ".$teste."<br>"); $teste = "Agora eu sou uma String!"; echo("Valor String: ".$teste."<br>"); ?> //declara a varivel //atribui um valor integer para ela //imprime o valor integer //atribui valor float //imprime o valor float //imprime valor boolean //atribui valor string //imprime valor string

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Entrada e sada de dados


Toda entrada de dados em PHP ocorre a partir de formulrios HTML.
Esses formulrios podem utilizar dois mtodos de envio de dados: o POST o GET

Toda sada de dados em PHP, como j visto anteriormente, feita a partir da funo echo();
o

Exemplo prtico: Formulrio HTML enviando dados por POST e GET

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo formulrio HTML com POST


<html><!-- Nome do arquivo exemplo_form.php --> <head><title>Exemplo com formulrios</title></head> <body> <form action="exemplo_form.php" method="post" name="exemplo"> Nome: <input type="text" name="nome" size="30"><br> Mensagem: <input type="text" name="mensagem" size="30"><br> <input type="submit" name="enviar" value="Enviar"><br> </form> <?php echo("Nome: ".$_POST[nome]."<br>"); echo("Mensagem: ".$_POST[mensagem]."<br>"); ?> </body> </html>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo formulrio HTML com GET


<html><!-- Nome do arquivo exemplo_form.php --> <head><title>Exemplo com formulrios</title></head> <body> <form action="exemplo_form.php" method="get" name="exemplo"> Nome: <input type="text" name="nome" size="30"><br> Mensagem: <input type="text" name="mensagem" size="30"><br> <input type="submit" name="enviar" value="Enviar"><br> </form> <?php echo("Nome: ".$_GET[nome]."<br>"); echo("Mensagem: ".$_GET[mensagem]."<br>"); ?> </body> </html>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

GET x POST
Basicamente a maior diferena entre POST e GET, o fato de que o mtodo POST suporta enviar uma maior quantidade de dados e de forma transparente ao usurio. J o mtodo GET suporta enviar uma menor quantidade de dados e os envia de uma forma visvel ao usurio.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Array em PHP
Um array pode ser iniciado em PHP da seguinte forma: o $vetor = array(17,53,89,5);
A partir do exemplo acima, se fosse feito um echo($vetor[1]); o valor impresso na tela seria 53. Arrays tambm podm receber valores sem necessriamente terem sido iniciados antes. Ex: o $vet[0] = "Valor atribuido"; o $vet[10] = "Outro valor atribuido"; Uma diferena dos arrays em PHP com relao a outras linguagens de programao so os Arrays Associativos.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Arrays Associativos
A maior diferena entre os arrays associativos e os arrays tradicionais, que os ndices dos arrays associativos podem podem ser valores no nmericos escolhidos pelo programador. Declarao de array associativo: o $vet_notas = array("joo" => 8,"maria" => 9,"jos" => 6); Considerando o array associativo do exemplo acima, se fosse feito um echo($vet_notas["maria"]); o valor impresso na tela seria 9.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Palavras reservadas em PHP

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Operadores aritimticos + adio - subtrao * multiplicao / diviso % mdulo = atribuio

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Operadores relacionais e lgicos

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Operadores de atribuio
+= -= *= /= %= .= = adio subtrao multiplicao diviso mdulo concatenao atribuio
$c = $c + 3; equivalente a $c += 3; $c = $c - 6; equivalente a $c -= 6; $c = $c * 3; equivalente a $c *= 3;

$c = $c / 5;

equivalente a $c /= 5;

$c = $c % 2; equivalente a $c %= 2; $c = $c ."teste"; equivalente a $c .= "teste";

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Procedncia de operadores

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Incremento e decremento
Assim como na linguagem C/C++ e Java, os incrementos e decrementos em PHP so feitos pelos operadores ++ e -respectivamente.
o

Exemplo: <?php $c = 6; $b = $c++; echo($b); //imprime 6 echo($c); //imprime 7 ?>

Exemplo 2: <?php $c = 6; $b = --$c; echo($b); //imprime 5 echo($c); //imprime 5

?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Estruturas de controle de fluxo


As estruturas de controle de fluxo do PHP so idnticas s do C/C++.

Em nosso curso sero estudadas as estruturas mais usadas do PHP, embora essas no sejam as nicas existentes: o Estruturas de seleo if switch o Estruturas de repetio while for
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Estrutura de seleo <?php if( condio ) {

IF

//cdigos executados quando atendida a condio //cdigos executados quando atendida a condio //cdigos executados quando atendida a condio

} else {
//cdigos executados quando no atendida a condio //cdigos executados quando no atendida a condio

} ?> Exemplo prtico com IF


Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo comando IF
<html> <head><title>Exemplo IF - Curso Desenvolvimento Web: PHP orientado objetos</title></head> <body> <form action="exemplo_if.php" method="post" name="teste_if"> Dado 1:<input type="text" name="dado1" size="10"><br> Dado 2:<input type="text" name="dado2" size="10"><br> <input type="submit" value="Calcular"> </form> <?php if($_POST[dado1] != "" && $_POST[dado2] != "") //testa se o usurio digitou os dados { $total = $_POST[dado1] + $_POST[dado2]; //soma os dados digitados echo("O total da sua soma : ".$total."<br>"); //imprime o total if($total > 15) { echo("O total da sua soma MAIOR que 15!<br>"); } else { echo("O total da sua soma MENOR que 15!<br>"); } } //end if ?> </body> </html> <!-- nome do arquivo exemplo_if.php -->

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Estrutura de seleo <?php switch ($variavel) { case valor1:

SWITCH

//cdigos executados quando $variavel igual valor1 break;

case valor2:
//cdigos executados quando $variavel igual valor2 break;

default:
//cdigos executados quando $variavel diferente de valor1 e valor2

} ?> Exemplo prtico com SWITCH


Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<html> <head><title>Exemplo SWITCH - Curso Desenvolvimento Web: PHP orientado objetos</title></head> <body> <form action="exemplo_switch.php" method="post" name="teste_switch"> Dado:<input type="text" name="dado" size="10"><br> <input type="submit" value="Enviar"> </form> <?php if($_POST[dado] != "") //testa se o usurio digitou o dado { switch($_POST[dado]) //a varivel de parmetro o dado digitado { case "Lucas": echo("Dado digitado: ".$_POST[dado].". Esse cara gente boa!<br>"); break; case "PHP": echo("Dado digitado: ".$_POST[dado].". Essa linguagem massa!<br>"); break; default: echo("Dado digitado: ".$_POST[dado].". Dado no previsto!<br>"); }//end switch }//end if ?> </body> </html> <!-- nome do arquivo exemplo_switch.php -->

Exemplo comando SWITCH

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Estrutura de repetio <?php

WHILE

while( condio ) {
//cdigos executados enquanto atendida a condio //cdigos executados enquanto atendida a condio //cdigos executados enquanto atendida a condio

}
?> Exemplo prtico com WHILE

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<html> <head><title>Exemplo WHILE - Curso Desenvolvimento Web: PHP orientado objetos</title></head> <body> <form action="exemplo_while.php" method="post" name="teste_while"> Dado:<input type="text" name="dado" size="10"><br> <input type="submit" value="Enviar"> </form> <?php if($_POST[dado] != "") //testa se o usurio digitou o dado { $aux = $_POST[dado]; //varivel auxiliar recebe o valor digitado while($aux <= 50) { echo("Varivel auxiliar: ".$aux."<br>"); $aux += 2; //soma mais 2 ao valor atual da varivel auxiliar }//end while }//end if ?> </body> </html> <!-- nome do arquivo exemplo_while.php -->

Exemplo comando WHILE

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Estrutura de repetio <?php

FOR

for( inicia o contador ; condio ; incrementa ou decrementa contador ) {


//cdigos executados enquanto atendida a condio //cdigos executados enquanto atendida a condio //cdigos executados enquanto atendida a condio

}
?>
Exemplo prtico com FOR

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<html> <head><title>Exemplo FOR - Curso Desenvolvimento Web: PHP orientado objetos</title></head> <body> <form action="exemplo_for.php" method="post" name="teste_for"> N de linhas:<input type="text" name="linhas" size="10"><br> <input type="submit" value="Enviar"> </form> <?php if($_POST[linhas] != "") //testa se o usurio digitou o dado { $aux = $_POST[linhas]; //varivel auxiliar recebe o valor digitado echo("<table border='1'> <tr> <th colspan='2' bgcolor='#bbbbbb'>Tabela Dinmica</th> </tr>"); //inicia uma tabela HTML com cabealho for($i = 0; $i < $aux; $i++) { if($i % 2 == 0) //testa se o valor do contador par { $cor = "#ffffff"; //atribui valor hexadecimal de cor } else { $cor = "#bbbbbb"; //atribui valor hexadecimal de cor } echo("<tr><td bgcolor='$cor'>$i</td><td bgcolor='$cor'>$i</td></tr>"); //escreve linha da tabela com 2 clulas }//end for echo("</table>"); //encerra tabela HTML }//end if ?> </body> </html> <!-- nome do arquivo exemplo_for.php -->

Exemplo comando FOR

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funes em PHP
Assim como em praticamente todas as linguagens de programao, PHP tem suporte a criao de funes. Uma funo uma caixa preta que realiza uma tarefa sempre que ela for chamada. A sintaxe da criao das funes idntica do C/C++ Uma funo pode retornar ou no valores, podendo assim ser moldada pela necessidade do programador.

Os parmetros das funes podem ser passados por valor ou referncia.


Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Criao de Funes em PHP


Funo com passagem de parmetro por valor: function nome_da_funcao($parametro1, $parametro2) { //comandos executados pela funo return valor_retornado; }
Funo com passagem de parmetro por referncia: function nome_da_funcao(&$parametro1, &$parametro2) { //comandos executados pela funo return valor_retornado; }
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Chamada de funo em PHP

<?php function soma($a, $b) { $total = $a + $b; return $total; }


$valor1 = 2; $valor2 = 3; //chama a funo soma //imprime 5 na tela

$resultado = soma($valor1,$valor2); echo($resultado); ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Praticando funes em PHP


Para visualizar melhor a utilizao das funes em PHP, vamos fazer um exemplo prtico envolvendo duas funes, uma utilizando passagem de parmetros por valor e outra utilizando a passagem de parmetro por referncia. Exemplo Prtico com funes

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo de Funes PHP


<html> <head><title>Exemplo FUNES - Curso Desenvolvimento Web: PHP orientado objetos</title></head> <body> <form action="exemplo_funcoes.php" method="post" name="teste_funcoes"> Dado:<input type="text" name="dado" size="10"><br> <input type="submit" value="Enviar"> </form> <?php function parametro_valor($parametro) { $parametro = "Seu valor foi alterado!"; } function parametro_referencia(&$parametro) { $parametro = "Seu valor foi alterado!"; } if($_POST[dado] != "") //testa se o usurio digitou o dado { $aux = $_POST[dado]; //varivel auxiliar recebe o valor digitado parametro_valor($aux); echo("Valor da varivel \$aux depois de chamar a funo parametro_valor( ): $aux<br>"); parametro_referencia($aux); echo("Valor da varivel \$aux depois de chamar a funo parametro_referencia( ): $aux<br>"); } ?> </body> </html> <!-- nome do arquivo exemplo_funcoes.php -->

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funes prprias do PHP


Assim como em outras linguagens de programao, o PHP possui uma vasta quantidade de funes prprias da linguagem para executar funcionalidades diversas. Em nosso curso veremos apenas algumas dessas funes. o Funes do PHP que sero vistas no curso: date(); is_numeric(); strlen(); substr(); explode();

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funo date()
A funo date(); do PHP retorna data ou hora local(do servidor), depende dos parmetros que ela recebe na chamada; A funo date(); recebe como parmetros valores String pr-determinados e a partir desses parmetros ela retorna valores correspondentes. o Exemplo: <?php $dt = date("d/m/Y"); //variavel $dt recebe o retorno da funo echo($dt); //apresentar na tela a data atual ex: 03/06/2009 ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Alguns parmetros para a funo date()

Lista completa de parmetros: http://www.php.net/manual/pt_BR/function.date.php

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funo is_numeric()
Essa funo recebe como parmetro uma varivel e retorna TRUE se ela for um nmero ou FALSE se ela for uma string.
Exemplo: <?php $aux = "Sou uma string!"; //varivel recebe um valor String if(is_numeric($aux) == true) { echo("Ela um nmero!"); } else { echo("Ela NO um nmero!"); } //NESSE CASO SER IMPRESSO "Ela NO um nmero!" ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funo strlen()
Essa funo recebe como parmetro uma varivel do tipo String e retorna o nmero de caracteres dela (tamanho). Exemplo: <?php $aux = "Lucas"; echo(strlen($aux)); ?>

//varivel recebe valor tipo String


//ser impresso 5;

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funo substr()
Essa funo recebe 3 parmetros e retorna parte da String especificada. o O primeiro parmetro que ela recebe a String; o O segundo parmetro o valor referente ao inicio da parte desejada da String; o O terceiro parmetro referente ao nmero de caracteres da parte desejada da String; Exemplo <?php $aux = "Curso PHP!"; echo( substr($aux, 0, 4) ); ?>

//varivel recebe valor String //ser impresso Curso

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funo explode()

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Funo explode()
Ela divide uma String em partes, retornando um array, sendo que cada posio desse array contm uma parte da String dividida.

Ela recebe dois parmetros: o O primeiro o delimitador responsvel pela diviso; o O segundo a String que vai ser dividida;

Exemplo: <?php $dt = "03/06/2009"; //varivel recebe um valor String $vet = explode("/", $dt); echo ($vet[0]."<br>"); //imprime "03" echo ($vet[1]."<br>"); //imprime "06" echo ($vet[2]."<br>"); //imprime "2009" ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Incluso de arquivos
Em PHP possvel usar funes e variveis contidas em arquivos diferentes, para isso basta incluir o arquivo onde est a funo ou varivel, no arquivo atual onde elas sero usadas. Essa tcnica funciona como se fosse a incluso de bibliotecas de cdigo. Para fazer a incluso de arquivos, o PHP oferece 4 funes especiais: o include; o include_once; o require; o require_once;
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Incluso de arquivos - INCLUDE_ONCE


No nosso curso usaremos basicamente somente a funo de incluso include_once para evitar erros. Se voc tentar incluir duas ou mais vezes um mesmo arquivo, gerado um erro no interpretador PHP, pois como se voc tentasse incluir a mesma biblioteca de cdigos mais de uma vez. O include_once inteligente com relao a isso e evita esse erro, pois antes dele fazer a incluso, ele testa se o arquivo que voc est tentando incluir j est incluido. Se ele j estiver incluido, o include_once no ir inclui-lo novamente, mas caso no tiver incluido, ele o incluir. Exemplo prtico include_once
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo com INCLUDE_ONCE


function imprime_data() { $dt = date("d/m/Y"); return $dt; }

<?php //nome do arquivo "exemplo_include_once.php" //ESSE ARQUIVO SER INCLUIDO NO ARQUIVO exemplo_include_once_imprime.php

?>

<?php //nome do arquivo "exemplo_include_once_imprime.php" include_once 'exemplo_include_once.php'; // passado o caminho do arquivo a ser incluido //chamada da funo que declarada o arquivo que foi

echo(imprime_data()); incluido

?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

PHP OO - Programao Orientada Objetos com PHP


Desenvolvimento web:
PHP Orientado Objetos

- Mdulo III -

Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Introduo a orientao objetos


A orientao objetos uma maneira de programar que trata de modelar os processos de programao de uma maneira prxima realidade: tratando a cada componente de um programa como um objeto real, com suas respectivas caractersticas e funcionalidades. Um software orientado objetos composto basicamente de: o Classes Mtodos (construtor, set, get...) Atributos o Objetos

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Introduo a orientao objetos


Exemplo de classe PHP:
Uma classe pessoa possui os atributos: nome cpf rg telefone endereo email o Uma classe pessoa possui os mtodos: construtor SETs GETs cadastrar altera exclui
o

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

PHP Orientado Objetos


A partir da verso 5, a orientao objetos do PHP ficou praticamente completa, no deixando nada a desejar com relao as linguagens de programao voltadas para desktop.
Dentre as funcionalidades que ela suporta, podemos citar Sobrescrita de funo, Sobrecarga de funo, Herana, Polimorfismo e Interfaces. Assim como no Java, PHP OO no suporta herana mltipla. A soluo que os programadores fazem para compensar isso a utilizao de interfaces.

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

PHP Orientado Objetos


No nosso curso, a parte de orientao objeto do PHP que ser trabalhada, composta basicamente de:
Criao de classe Atributos Mtodos construtor Encapsulamento Modificadores de acesso private public protected o Mtodos Set o Mtodos Get o Criao de objetos o Chamada de mtodos o Herana
o o o o
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Criao de classes
Exemplo de criao de classe usurio <?php class usuario { //atributos da funo //mtodos da funo ... ... ... } ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Atributos
Exemplo de criao de atributos da classe usurio <?php class usuario { $idUsuario; //atributo $nome; //atributo $login; //atributo $senha; //atributo

//mtodos da funo
} ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Mtodos construtores
Em PHP, os mtodos construtores podem ter dois possveis nomes: o mesmo nome da classe o __construct
Exemplo de criao do mtodo construtor da classe usurio <?php class usuario { $idUsuario; //atributo $nome; //atributo $login; //atributo $senha; //atributo function __construct() { } //mtodos da funo... } ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

//criao do mtodo construtor

Encapsulamento
um processo no qual se ocultam as caractersticas internas de um objeto queles elementos que no tm porque conhece-las. Os modificadores de acesso servem para indicar as permisses que tero outros objetos para acessar a seus mtodos e atributos. Modificadores de acesso em PHP: o public o private o protected

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Modificadores de Acesso PHP


public :
o

o modificador de acesso padro, ou seja, quando no se define o modificador de acesso de um mtodo ou atributo, esse interpretado pelo PHP como public. o modificador mais permissivo, pois os mtodos ou atributos public podem ser acessados em qualquer parte do programa. o modificador de acesso mais restritivo. Um atributo ou mtodo private, s pode ser acessado pelo prprio objeto. um modificador de restrio mdia. Um atributo ou mtodo protected, pode ser acessado pelo prprio objeto e por objetos das classes filhas (que o herdou).

private :
o

protected :
o

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Modificadores de Acesso PHP - Exemplo


Exemplo de encapsulamento ( uso de modificadores de acesso ) <?php class usuario { private $idUsuario; //atributo privado private $nome; //atributo privado private $login; //atributo privado private $senha; //atributo privado
public function __construct() { } //mtodos da funo... } ?>
//criao do mtodo construtor pblico

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Mtodos SET
Cada atributo private de uma classe, deve possuir um mtodo public SET correspondente para que possam ser atribuidos valores a ele atravs desse mtodo. <?php
class usuario { private $idUsuario; private $nome; private $login; private $senha;
//atributo privado //atributo privado //atributo privado //atributo privado //criao do mtodo construtor pblico

public function __construct() { }

public function setNome($n) { $this->nome = $n; //atributo $nome recebe o valor referente a $n } } ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Mtodos GET
Cada atributo private de uma classe, deve possuir um mtodo public GET correspondente para que possam ser recuperados seus valores atravs desse mtodo. <?php
class usuario { private $idUsuario; private $nome; private $login; private $senha;
//atributo privado //atributo privado //atributo privado //atributo privado //criao do mtodo construtor pblico

public function __construct() { }

public function getNome() { return $this->nome; //retorna valor do atributo $nome } } ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Criao de objetos
Exemplo de criao de objeto da classe usuario:
<?php //nome do arquivo cria_objeto.php include_once "usuario.class.php"; //inclui classe usuario $objeto = new usuario(); //cria objeto da classe pessoa ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Chamada de mtodos
Exemplo de chamada de mtodos da classe usuario:
<?php //nome do arquivo cria_objeto.php include_once "usuario.class.php";
//inclui classe usuario

$objeto = new usuario(); //cria objeto da classe pessoa $aux = "Lucas Vegi"; //varivel auxiliar recebe nome $objeto->setNome($aux); //chama mtodo setNome echo( $objeto->getNome() ); //chama mtodo getNome ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Herana em PHP
Com a Herana, as classes podem herdar as caractersticas (atributos e mtodos) de outras, de modo que se podem fazer classes especializadas, baseadas em outras mais gerais. Exemplo de uma classe herdando outra:
<?php include_once "usuario.class.php"; //cdigo da classe pai deve ser incluido na filha class admin extends usuario //classe admin herda da classe usuario { private $setor; public function __construct() { parent::__construct(); //chama construtor da classe pai } } ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Herana em PHP
Exemplo de chamada de mtodos da classe admin que foram herdados da classe usuario:

<?php //nome do arquivo cria_objeto_heranca.php include_once "admin.class.php";


//inclui classe admin

$objeto = new admin(); //cria objeto da classe admin $aux = "Lucas Vegi"; //varivel auxiliar recebe nome $objeto->setNome($aux); //chama mtodo setNome echo( $objeto->getNome() ); //chama mtodo getNome ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Exemplo de uma aplicao em PHP OO


A partir de agora comearemos a desenvolver uma aplicao chamada Blog' IS. Essa aplicao basicamente tem a funcionalidade de um blog onde um usurio poder postar mensagens. At o trmino desse curso, essa aplicao ser aperfeioada, ganhando cada vez mais funcionalidades.

Mos a obra!
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<?php class post //arquivo post.class.php { private $titulo; private $texto; private $momento; public function __construct() { }

//continuao da classe......

public function getMomento() { return $this->momento; } public function setTitulo($tit) { $this->titulo = $tit; } public function setTexto($tex) { $this->texto = $tex; } public function setMomento() { $this->momento = date("H:i:s"); }

public function getTitulo() { return $this->titulo; }


public function getTexto() { return $this->texto; }

} ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<?php //arquivo home.php

nclude_once 'post.class.php'; session_start(); echo(" <html> <head><title>Blog'IS - Information System</title></head> <body>"); echo(" <table align='center' border='0' width='780' cellspacing='5'> <tr> <td align='center' colspan='2'><a href='home.php'><img src='blogis.jpg' border='0'/></a></td> </tr> <tr> <td align='center' bgcolor='#86a7f6'><font face='verdana' size='3' color='#FFFFFF'><b>Seja bem vindo</b></font></td> </tr> <form action='' method='POST'> <tr> <td align='center'><input type='text' name='titulo'></td> </tr> <tr> <td align='center'><textarea name='texto'></textarea></td> </tr>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<tr>

<td align='center'><input type='submit' value='POSTAR!'></td> </tr> </form> "); if(isset($_POST['titulo']) && isset($_POST['texto'])) { $postagem = new post(); $postagem->setTitulo($_POST['titulo']); $postagem->setTexto($_POST['texto']); $postagem->setMomento(); echo("<tr> <td align='center' bgcolor='#86a7f6'><font face='verdana' size='3' color='#FFFFFF'><b>Postagens</b></font></td> </tr>"); echo("<table border=0 align='center' cellspacing='0' cellpadding='0'>"); echo(" <tr><td align='center'><font size='5' face='arial'><b><u>".$postagem>getTitulo()."</u></b></font><br><br></td></tr> <tr><td align='center'><font size='3' face='arial'>".$postagem>getTexto()."</font></td></tr> <tr><td align='center'><font size='2' face='arial'>horrio - ".$postagem>getMomento()."</font><br><hr><br><br></td></tr> </table> "); } echo("</table></body></html>"); ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Soluo para os dados volteis: Sesso


Desenvolvimento web:
PHP Orientado Objetos

- Mdulo IV -

Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Dados so mais volteis em PHP


Em PHP, assim que um script executado pelo servidor e retornado para o cliente em forma de HTML, todos os valores contidos nas variveis e objetos so perdidos, pois eles so retirados da memria RAM dos servidores. Isso se deve ao fato de que um servidor web executa ao mesmo tempo milhares de scripts oriundos de toda parte do mundo, portanto eles devem otimizar o uso de memria RAM, evitando o desperdcio. Tudo bem, mas e se eu quiser manter meus dados na memria ram dos servidores por mais tempo???
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Uso de SESSO
Sesses so vetores associativos especiais do PHP que reservam um espao na memria RAM dos servidores e assim tornam os dados menos volteis.
Os dados mantidos em uma sesso permanecem na memria RAM dos servidores enquanto o navegador do cliente(browser) estiver aberto ou enquanto a sesso no expirar por inatividade ou por vencer sua vida til.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Iniciando SESSO
Pra comear a trabalhar com uma sesso, voc precisa primeiro aprender uma coisa. Iniciar a sesso. Mesmo que voc ainda no saiba o que vai colocar nela. Vamos por partes.

<?php session_start(); ?>

//inicia a sesso

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Tempo de vida de uma SESSO


Um sesso, por padro tem o TTL (time to live ou tempo de vida) de 180 minutos. Se voc precisa por algum motivo que sua sesso expire em menor ou maior tempo, use a funo session_cache_expire( minutos );

<?php
session_start(); //inicia a sesso session_cache_expire(10); //sesso dura 10 minutos

?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Registrando uma SESSO


Digamos que voc quer manter algum dado na sesso, para posterior uso. Vamos para um exemplo prtico.

<?php
session_start(); $nome = "Lucas Vegi";
//inicia a sesso //varivel recebe valor string

$_SESSION['nome'] = $nome; //registra sesso


echo("Valor da sesso: ".$_SESSION['nome']); //imprime valor

?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Verificando se uma SESSO existe


O PHP oferece um mtodo especial para verificar se uma sesso foi registrada, esse mtodo chama-se isset() e retorna um valor boolean.

<?php
session_start();
//inicia a sesso existe

if( isset($_SESSION['nome']) == true) //testa se sesso {


echo("Sesso existe!");

} else{ echo("Sesso no existe!");

?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Destruindo uma SESSO


Agora que voc sabe como registrar, expirar, verificar se existe, vamos destuir uma sesso. Para isso usaremos o mtodo especial do PHP chamado unset()

<?php
session_start();
unset($_SESSION['nome']);
//inicia a sesso //destroi a sesso

?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Implementao do Blog'IS com sesso


A mesma aplicao desenvolvida anteriormente, agora ser aperfeioada consideravelmente com a utilizao de sesso e dessa forma ficar muito mais fcil entender esses conceitos. O sistema ser composto das classes: o post o usuario O sistema se comportar da seguinte forma: o Caso o usurio estiver logado: Ele deve mostrar o nome do usurio logado, Mostra a opo de postar contedo Mostra postagens j realizadas o Caso contrrio: Mostra a opo "cadastrar".

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<?php class post { private $titulo; private $texto; private $momento; public function __construct() { } public function getTitulo() { return $this->titulo; } public function getTexto() { return $this->texto; } public function getMomento() { return $this->momento; }

public function setTitulo($tit) { $this->titulo = $tit; } public function setTexto($tex) { $this->texto = $tex; } public function setMomento() { $this->momento = date("H:i:s"); } public function publicar() { $_SESSION['posts'][$_SESSION['contador_posts']]['titulo'] = $this->titulo; $_SESSION['posts'][$_SESSION['contador_posts']]['texto'] = $this->texto; $_SESSION['posts'][$_SESSION['contador_posts']]['momento'] = $this->momento; $_SESSION['contador_posts']+=1; }

}
//arquivo post.class.php ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<?php class usuario { private $nome; $email; unction __construct() }

public function setEmail($n) { $this->email = $n; //atributo $email recebe o valor referente a $n }

private public {

public function getNome() { return $this->nome; } public function setNome($n) { $this->nome = $n; } public function getEmail() { return $this->email; }

public function cadastrar() { session_start(); $_SESSION['usuario']= $this->nome; $_SESSION['email']= $this->email; $_SESSION['contador_posts']=0; echo "<tr> <td align='center' bgcolor='#86a7f6' width='50%'><a href='me-cadastrar.php' style='text-decoration: none;'><font face='verdana' size='3' color='#FFFFFF'><b>Me cadastrar!</b></font></a></td> <td align='center' bgcolor='#86a7f6' width='50%'><a href='me-logar.php' style='text-decoration: none;'><font face='verdana' size='3' color='#FFFFFF'><b>Logar</b></font></a></td> </tr> <tr> <td align='center' colspan='2'><br><br><br><font face='verdana' size='3' color='#7097f2'><b>Usurio cadastrado com sucesso!</b></font></td> </tr> <tr> <td align='center' colspan='2'><a href='home.php'><font face='verdana' size='3' color='#0344e1'><b>Faa j os seus POSTs!</b></font></a></td> </tr> "; } } //arquivo usuario.class.php ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<?php //nome do arquivo me-cadastrar.php

include_once "usuario.class.php"; session_start(); echo(" <html> <head><title>Blog'IS - Information System</title></head> <body>"); echo(" <table align='center' border='0' width='780' cellspacing='5'> <tr> <td align='center' colspan='2'><a href='home.php'><img src='blogis.jpg' border='0'/></a></td> </tr> ");

if($_SESSION['usuario']) { session_destroy(); session_start(); }

if(($_POST['nome']) && ($_POST['email'])) { $user = new usuario(); $user->setNome($_POST['nome']); $user->setEmail($_POST['email']); $user->cadastrar(); }

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

else { echo(" <tr> <td align='center' bgcolor='#86a7f6' width='50%'><a href='me-cadastrar.php' style='text-decoration: none;'><font face='verdana' size='3' color='#FFFFFF'><b>Me cadastrar!</b></font></a></td> <td align='center' bgcolor='#86a7f6' width='50%'><a href='#' style='text-decoration: none;'><font face='verdana' size='3' color='#FFFFFF'><b>Logar</b></font></a></td> </tr> <tr> <form action='' method='POST'> <td align='center' colspan='2'><br><br><br><font face='arial' size='2'><b>Nome:</b></font>&nbsp;&nbsp;<input type='text' size='20' name='nome'></td> </tr> <tr> <td align='center' colspan='2'><font face='arial' size='2'><b>Email:</b></font>&nbsp;&nbsp;<input type='text' size='20' name='email'></td> </tr> <tr> <td align='center' colspan='2'><input type='submit' value='Cadastre-me'></td> </tr> </form> "); } echo("</table></body></html>"); //fim do arquivo me-cadastrar.php ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

<?php //nome do arquivo home.php

include_once 'post.class.php'; session_start(); echo(" <html> <head><title>Blog'IS - Information System</title></head> <body>"); echo(" <table align='center' border='0' width='780' cellspacing='5'> <tr> <td align='center' colspan='2'><a href='home.php'><img src='blogis.jpg' border='0'/></a></td> </tr> ");

if($_GET['opcao']=='sair') { unset($_SESSION); session_destroy(); }

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

if(isset($_SESSION['usuario'])) { echo "<tr> <td align='center' bgcolor='#86a7f6'><font face='verdana' size='3' color='#FFFFFF'><b>Usurio logado: </b><i>".$_SESSION['usuario']."</i> - <a href='?opcao=sair'>Sair</a></font></td> </tr> <form action='' method='POST'> <tr> <td align='center'><input type='text' name='titulo'></td> </tr> <tr> <td align='center'><textarea name='texto'></textarea></td> </tr> <tr> <td align='center'><input type='submit' value='POSTAR!'></td> </tr> </form> "; if(isset($_POST['titulo']) && isset($_POST['texto'])) { $postagem = new post(); $postagem->setTitulo($_POST['titulo']); $postagem->setTexto($_POST['texto']); $postagem->setMomento(); $postagem->publicar(); }

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

if(isset($_SESSION['posts'])) { echo("<tr> <td align='center' bgcolor='#86a7f6'><font face='verdana' size='3' color='#FFFFFF'><b>Postagens</b></font></td> </tr>"); echo("<table border=0 align='center' cellspacing='0' cellpadding='0'>"); for($i=0;$i<count($_SESSION['posts']);$i++) { echo "<tr><td align='center'><font size='5' face='arial'><b><u>".$_SESSION['posts'][$i]['titulo']."</u></b></font><br><br></td></tr> <tr><td align='center'><font size='3' face='arial'>".$_SESSION['posts'][$i]['texto']."</font></td></tr> <tr><td align='center'><font size='2' face='arial'>publicado por ".$_SESSION['usuario']." ".$_SESSION['posts'][$i]['momento']."</font><br><hr><br><br></td></tr>"; } echo("</table>"); } } else { echo "<tr> <td align='center' bgcolor='#86a7f6' width='50%'><a href='me-cadastrar.php' style='text-decoration: none;'><font face='verdana' size='3' color='#FFFFFF'><b>Me cadastrar!</b></font></a></td> <td align='center' bgcolor='#86a7f6' width='50%'><a href='#' style='text-decoration: none;'><font face='verdana' size='3' color='#FFFFFF'><b>Logar</b></font></a></td> </tr>"; } echo("</table></body></html>"); //fim do arquivo home.php ?>

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Mesmo com o uso de SESSO os dados continuam volteis


Vocs devem ter observado que mesmo com o uso de sesso, os dados continuam volteis aps o fechamento do navegador. Isso se deve ao fato de que a Sesso simula no servidor, uma rea memria equivalente memria RAM desktop, que voltil. Para resolver essa limitao e guardar os dados em definitivo, somente com o uso de um Banco de Dados. Alm de guardar os dados em definitivo, o uso do banco de dados proporcionaria que os usurios tivessem acesso a todas as postagens de todos os usurios e no somente s suas.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

D sua opinio sobre o curso!


Entrem por favor no link abaixo e respondam algumas poucas perguntas com relao ao curso. Sua contribuio ser muito importante!

http://spreadsheets.google.com/viewform?formkey=ckx2WlVhaU5Pd2dwX2FOVjFiN EhhYlE6MA..

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Contatos

lucasvegi@gmail.com

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Referncias Bibliogrficas
ALVES, L. L; BITTENCOUT, F. R. PHP: Conceitos Essenciais para Implementao de Aplicaes Web. 7 Faces, Itabira, MG, v. 4, p. 193-208, 2003. http://apostilas.fok.com.br/manual-do-php/reserved.php http://www.php.net http://www.revistaphp.com.br/artigo.php?id=79

Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com

Anda mungkin juga menyukai