Bem vindo ao Preciso Estudar Sempre. O tema dessa semana será algo nunca visto aqui antes. Hoje falaremos de uma linguagem de programação a qual, não é Java. Hoje, falaremos de PHP mas, porque PHP ? Porque essa mudança agora ? Bem, vamos às respostas !
Pergunta: porque PHP ?
Resposta: Escolhi PHP porque é uma linguagem que é muito usada, rápida, fácil e poderosa. Já faz tempo que eu quero aprender e falar sobre PHP.
Pergunta: Porque essa mudança agora ?
Resposta: Resolvi realizar essa mudança para que todos nós possamos aprender coisas novas visando, adicionar ao nosso canivete novos conhecimentos.
Para quem não está se aguentando, clique aqui e baixe o projeto.
Não fique achando que você terminará de ler esse post e será considerado um expert PHP. O que iremos abordar aqui é um exemplo simples. O começo da estrada do aprendizado.
O PHP é uma linguagem de programação que não é compilada, é interpretado. Você escreve seu código e põe ele no servidor de aplicações e pronto ! Está funcionando !
Com isso, nosso processo de desenvolvimento será mais rápido que o Java. O servidor de aplicações é o responsável por analisar o que escrevemos e interpretar os comandos utilizados. O PHP em sua versão 5 oferece suporte a orientação à objetos. Porém, ela não foi feita para ser OO. Existe uma grande diferença entre você ter uma linguagem que nasceu OO e uma linguagem que oferece suporte à OO.
OBS.: Para falar de OO, usaremos o Java como exemplo.
Enquanto no Java, você é obrigado a criar no mínimo uma classe com um método para começar a trabalhar, no PHP você não precisa disso. Basta somente, criar um arquivo com extensão .php, abrir um editor de texto qualquer e começar a programar ali. Obviamente que existem vantagens e desvantagens. O Java é fortemente OO e compilado, ele te oferece uma organização e uma estrutura bem definida mas, o desenvolvimento no PHP é muito mais rápido mas, você abre mais brechas à uma programação mal feita.
Desapegue da idéia da linguagem perfeita. Isso não existe. Em TI não existem balas de prata.
Para começarmos a desenvolver em PHP, precisaremos das ferramentas abaixo:
- Um editor de texto (Sublime Text).
- Um programa que tenha servidor de aplicações, banco de dados e administração de dados (WAMP ou EasyPHP). Eu uso o EasyPHP.
- Um navegador.
|  | 
| Pasta de projetos | 
|  | 
| O projeto PHP | 
|  | 
| Pacotes do projeto | 
pagina.html
 <!DOCTYPE html>  
 <html> 
 <head> 
      <title>Preciso Estudar Sempre</title> 
 </head> 
 <body> 
      <form method="POST" action="../controller/Controller.php">           
           <div>               
                <label for="nome">Nome</label> 
                <input type="text" name="nome" /> 
           </div> 
           <div>               
                <label for="email">Email</label> 
                <input type="text" name="email" /> 
           </div> 
           <div>               
                <label for="dtNascimento">Data de nascimento</label> 
                <input type="text" name="dtNascimento" /> 
           </div> 
           <div>               
                <label for="rg">RG</label> 
                <input type="text" name="rg" /> 
           </div> 
           <div>               
                <label for="cpf">CPF</label> 
                <input type="text" name="cpf" /> 
           </div> 
           <input type="submit" value="Confirmar" /> 
      </form> 
 </body> 
 </html> 
Cliente.php
 <?php   
 /** 
 *  
 */ 
 class Cliente { 
      private $id; 
      private $nome; 
      private $email; 
      private $dtNascimento; 
      private $RG; 
      private $CPF; 
      function __construct() { } 
      public function getId(){ 
           return $this->id; 
      } 
      public function setId($id){ 
           $this->id=$id; 
      } 
      public function getNome(){ 
           return $this->nome; 
      } 
      public function setNome($nome){ 
           $this->nome=$nome; 
      } 
      public function getEmail(){ 
           return $this->nome; 
      } 
      public function setEmail($email){ 
           $this->email=$email; 
      } 
      public function getDtNascimento(){ 
           return $this->dtNascimento; 
      } 
      public function setDtNascimento($dtNascimento){ 
           $this->dtNascimento=$dtNascimento; 
      } 
      public function getRG(){ 
           return $this->RG; 
      } 
      public function setRG($RG){ 
           $this->RG=$RG; 
      } 
      public function getCPF(){ 
           return $this->CPF; 
      } 
      public function setCPF($CPF){ 
           $this->CPF=$CPF; 
      } 
 } 
  ?> 
Controller.php
 <?php   
 /** 
 *  
 */ 
 require_once("../model/Cliente.php"); 
 class Controller { 
      function __construct() { } 
      public function exibirDados(){ 
           $cliente = $this->construirCliente($_REQUEST); 
           echo "<h1>Dados do cliente</h1> <br/>"; 
           echo "Id: " . $cliente->getId() . "<br/>"; 
           echo "Nome: " . $cliente->getNome() . "<br/>"; 
           echo "Email: " . $cliente->getEmail() . "<br/>"; 
           echo "Data de nascimento: " . $cliente->getDtNascimento() . "<br/>"; 
           echo "RG: " . $cliente->getRG() . "<br/>"; 
           echo "CPF: " . $cliente->getCPF() . "<br/>"; 
      } 
      public function construirCliente($request){ 
           $cliente = new Cliente();           
           $cliente->setId(1); 
           $cliente->setNome($request['nome']); 
           $cliente->setEmail($request['email']); 
           $cliente->setDtNascimento($request['dtNascimento']); 
           $cliente->setRG($request['rg']); 
           $cliente->setCPF($request['cpf']); 
           return $cliente; 
      } 
 } 
 $controller = new Controller(); 
 $controller->exibirDados(); 
  ?> 
Vamos às explicações !!
Você já deve estar irritado com o $ em todo o canto no código. Isso acontece porque em PHP as referências à variáveis são feitas com o cifrão, ou seja, toda variável ou atributo deve usar o cifrão. Outra coisa que você deve ter reparado foi a seta usada. A seta (->) é usada para acesso de métodos e atributos, é igual ao ponto (.) do Java.
Em Java: meuObjeto.foo();
Em PHP: $meuObjeto->foo();
IMPORTANTE: PHP não é case sensitive, ou seja, acessar o método getNome ou getnome resulta na mesma coisa.
O construtor da classe é representado function __construct() { } e ele se comporta como um construtor qualquer. Porém, PHP não suporta sobrecarga logo, você não conseguirá criar vários construtores e métodos com o mesmo nome.
Outro ponto peculiar é no uso do comando echo. Este comando serve para imprimir informações. O ponto serve para realizar a concatenação dos dados assim como, o + é usado no System.out.println do Java.
Para acessar elementos da própria classe, ou seja, atributos e métodos, deve-se usar o $this->meuMetodo ou $this->meuAtributo. Isto acontece porque o PHP não consegue associar automaticamente que, chamadas à metodos ou atributos que não são precedidos de um objeto são da própria classe ou de uma superclasse.
Como é possível concluir, é necessário muito pouco para criar um projeto php e muito pouco para realizar seu deploy. Espero que este post tenha sido um ótimo guia introdutório para o desenvolvedor que nunca teve contato com a linguagem.
Referências:
http://php.net/docs.php - Documentação oficial do PHP
http://www.w3schools.com/php/default.asp
 
 
 
Nenhum comentário:
Postar um comentário