Programação Orientada a Objetos (POO) com PHP (Parte 1)
Padronização de código PHP Do Jeito Certo PHP Standard Recommendation. PSR-1: Basic Coding Standard PSR-2: Coding Style Guide
Instalando php na linha de comando Adicionar o PHP na linha de Comando (PATH) Localizar o arquivo php.exe, copie o caminho; (ex.: C:xamppphp) Botão Iniciar > Sistema / Tecla Windows + Pause/Break; No lado esquerdo escolha De nições avançadas do sistema; Escolher Variáveis de ambiente; Em Variáveis de uso para [Usuario] localize PATH, dois cliques/editar, adicione o caminho copiado; Abra o terminal Veri que se o php está disponível para comando: php -v
Executando o servidor embutido do php Digite o seguinte comando no terminal: php -S localhost:8080 *Disponível na versão +5.4.0
Paradigmas de programação Funcionais Orientação a Objetos
Funcional Baseado em funções <?php $a = "teste"; $arrIdades = array(6,34,18,17,25,36,89,11,46); $filtro = function($idade){ return $idade >= 18; }; $saida = array_filter($arrIdades, $filtro); print_r($saida); echo $a;
Orientação a objetos Implementa um conjunto de classes que de nem os objetos presentes no sistema de software. (Wikipédia) A grande vantagem é o reaproveitamento de código no sistema e outros.
Classe É o molde de algo concreto. Representa um conjunto de objetos com características a ns <?php class Pessoa{ var $dataNascimento; var $nome; public function imprimeDados(){ echo "Data de Nascimento: ". $this->dataNascimento; echo "Nome: ". $this->nome; } public function showNome($nome){ return $this->nome; } }
$pessoa1 = new Pessoa(); $pessoa1->dataNascimento = "26/04/1985"; $pessoa1->nome = "Junior Messias"; $pessoa2 = new Produto(); $pessoa2->dataNascimento = "29/09/1989"; $pessoa2->nome = "Fabiana Toniolli Messias"; $pessoa1->imprimeDados(); $pessoa2->imprimeDados();
Arquivo para teste <?php require_once("Classe.php");
Padrão para Orientação a Objetos Um arquivo para uma classe; Sempre singular. Objeto: instância de uma classe. <?php class Conta { } $contaFulano = new Conta; $contaCiclano = new Conta;
Atributo: são características de um objeto (variáveis). <?php class Conta { public $banco; public $agencia; public $codigo; } $contaFulano->banco = "Banco do Brasil"; $contaFulano->agencia = "599-1"; $contaFulano->codigo = "14114-4";
Método: de nem as habilidades/ações dos objetos (funções). <?php class Conta { ... public function getCodigo(){ return $this->codigo; } } ... $contaFulano->getCodigo(); $this-> refere-se ao método/atributo do objeto (instância) atual
Assinatura: é composta pela quantidade de parâmetros. <?php class Conta { ... public function setNome($nome = "Ciclano"){ $this->nome = $nome; return $this; } } ... $contaFulano->setNome("Alfredo"); $contaFulano->setNome();
Herança: uma classe pode estender outra classe, aproveitando seus métodos e atributos possíveis. <?php class Conta { ... } <?php class ContaCorrente extends Conta { ... }
Construtor: são executados quando um objeto é criado. <?php class Conta { public function __construct(){ echo "Nova Conta criada"; } } <?php class ContaCorrente extends Conta { public function __construct(){ echo "Nova Conta Corrente criada"; } }
Calling parent: chamar métodos ou atributos da classe pai. <?php class Conta { public function __construct(){ echo "Nova Conta criada"; } } <?php class ContaCorrente extends Conta { public function __construct(){ parent::__construct(); echo "Nova Conta Corrente criada"; } }
Modi cadores de acesso: Public, Protected e Private. public: visibilidade total, pode ser redeclarada (padrão); protected: acesso na própria classe e lhas. private: acesso somente dentro da mesma classe, não pode ser redeclarada;
Abstract: em classes é um template de classes, molde. <?php abstract class Conta { public function __construct(){ echo "Nova Conta criada"; } } Classes abstratas não podem ser instanciadas.
Abstract: em método não possuem corpo. <?php class Conta { abstract public function getSaldo(); } <?php class ContaCorrente extends Conta { public function getSaldo(){ return $this->saldo; } } Obriga as demais classes a implementar este método
Interface: é um contrato entre a classe e o mundo externo. <?php interface ContaInterface { abstract public function getSaldo(); } <?php class Conta implements ContaInterface { abstract public function getSaldo(); } Sempre programe pra interface
That's all folks! Marp (https://yhatt.github.io/marp/)

Programação Orientada a Objetos (POO) com PHP - Parte 1

  • 1.
    Programação Orientada aObjetos (POO) com PHP (Parte 1)
  • 2.
    Padronização de código PHPDo Jeito Certo PHP Standard Recommendation. PSR-1: Basic Coding Standard PSR-2: Coding Style Guide
  • 3.
    Instalando php nalinha de comando Adicionar o PHP na linha de Comando (PATH) Localizar o arquivo php.exe, copie o caminho; (ex.: C:xamppphp) Botão Iniciar > Sistema / Tecla Windows + Pause/Break; No lado esquerdo escolha De nições avançadas do sistema; Escolher Variáveis de ambiente; Em Variáveis de uso para [Usuario] localize PATH, dois cliques/editar, adicione o caminho copiado; Abra o terminal Veri que se o php está disponível para comando: php -v
  • 4.
    Executando o servidorembutido do php Digite o seguinte comando no terminal: php -S localhost:8080 *Disponível na versão +5.4.0
  • 5.
  • 6.
    Funcional Baseado em funções <?php $a= "teste"; $arrIdades = array(6,34,18,17,25,36,89,11,46); $filtro = function($idade){ return $idade >= 18; }; $saida = array_filter($arrIdades, $filtro); print_r($saida); echo $a;
  • 7.
    Orientação a objetos Implementaum conjunto de classes que de nem os objetos presentes no sistema de software. (Wikipédia) A grande vantagem é o reaproveitamento de código no sistema e outros.
  • 8.
    Classe É o moldede algo concreto. Representa um conjunto de objetos com características a ns <?php class Pessoa{ var $dataNascimento; var $nome; public function imprimeDados(){ echo "Data de Nascimento: ". $this->dataNascimento; echo "Nome: ". $this->nome; } public function showNome($nome){ return $this->nome; } }
  • 9.
    $pessoa1 = newPessoa(); $pessoa1->dataNascimento = "26/04/1985"; $pessoa1->nome = "Junior Messias"; $pessoa2 = new Produto(); $pessoa2->dataNascimento = "29/09/1989"; $pessoa2->nome = "Fabiana Toniolli Messias"; $pessoa1->imprimeDados(); $pessoa2->imprimeDados();
  • 10.
  • 11.
    Padrão para Orientaçãoa Objetos Um arquivo para uma classe; Sempre singular. Objeto: instância de uma classe. <?php class Conta { } $contaFulano = new Conta; $contaCiclano = new Conta;
  • 12.
    Atributo: são característicasde um objeto (variáveis). <?php class Conta { public $banco; public $agencia; public $codigo; } $contaFulano->banco = "Banco do Brasil"; $contaFulano->agencia = "599-1"; $contaFulano->codigo = "14114-4";
  • 13.
    Método: de nemas habilidades/ações dos objetos (funções). <?php class Conta { ... public function getCodigo(){ return $this->codigo; } } ... $contaFulano->getCodigo(); $this-> refere-se ao método/atributo do objeto (instância) atual
  • 14.
    Assinatura: é compostapela quantidade de parâmetros. <?php class Conta { ... public function setNome($nome = "Ciclano"){ $this->nome = $nome; return $this; } } ... $contaFulano->setNome("Alfredo"); $contaFulano->setNome();
  • 15.
    Herança: uma classepode estender outra classe, aproveitando seus métodos e atributos possíveis. <?php class Conta { ... } <?php class ContaCorrente extends Conta { ... }
  • 16.
    Construtor: são executadosquando um objeto é criado. <?php class Conta { public function __construct(){ echo "Nova Conta criada"; } } <?php class ContaCorrente extends Conta { public function __construct(){ echo "Nova Conta Corrente criada"; } }
  • 17.
    Calling parent: chamarmétodos ou atributos da classe pai. <?php class Conta { public function __construct(){ echo "Nova Conta criada"; } } <?php class ContaCorrente extends Conta { public function __construct(){ parent::__construct(); echo "Nova Conta Corrente criada"; } }
  • 18.
    Modi cadores deacesso: Public, Protected e Private. public: visibilidade total, pode ser redeclarada (padrão); protected: acesso na própria classe e lhas. private: acesso somente dentro da mesma classe, não pode ser redeclarada;
  • 19.
    Abstract: em classesé um template de classes, molde. <?php abstract class Conta { public function __construct(){ echo "Nova Conta criada"; } } Classes abstratas não podem ser instanciadas.
  • 20.
    Abstract: em métodonão possuem corpo. <?php class Conta { abstract public function getSaldo(); } <?php class ContaCorrente extends Conta { public function getSaldo(){ return $this->saldo; } } Obriga as demais classes a implementar este método
  • 21.
    Interface: é umcontrato entre a classe e o mundo externo. <?php interface ContaInterface { abstract public function getSaldo(); } <?php class Conta implements ContaInterface { abstract public function getSaldo(); } Sempre programe pra interface
  • 22.
    That's all folks! Marp(https://yhatt.github.io/marp/)