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 -
- Mdulo II -
A Linguagem PHP
- Mdulo III -
- Mdulo I -
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
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
index.php
Arquivo
Banco de Dados
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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:
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
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 -
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
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
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.
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
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Toda sada de dados em PHP, como j visto anteriormente, feita a partir da funo echo();
o
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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;
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
?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
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 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
SWITCH
case valor2:
//cdigos executados quando $variavel igual valor2 break;
default:
//cdigos executados quando $variavel diferente de valor1 e valor2
<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 -->
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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 -->
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
FOR
}
?>
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 -->
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.
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
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)); ?>
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) ); ?>
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
<?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
- Mdulo III -
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
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
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
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 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 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:
$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
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"); }
} ?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
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
- Mdulo IV -
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.
//inicia a sesso
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
<?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
<?php
session_start(); $nome = "Lucas Vegi";
//inicia a sesso //varivel recebe valor string
?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
<?php
session_start();
//inicia a sesso existe
?>
Desenvolvimento web: PHP Orientado Objeto Lucas Francisco da Matta Vegi www.mr-bin.blogspot.com
<?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
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
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
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> ");
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> <input type='text' size='20' name='nome'></td> </tr> <tr> <td align='center' colspan='2'><font face='arial' size='2'><b>Email:</b></font> <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
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> ");
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
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