Top Banner
Programação Orientada a Objetos (POO) com PHP (Parte 1)
22

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

Jan 20, 2017

Download

Internet

Israel Messias
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programação Orientada a Objetos (POO) com PHP - Parte 1

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

(Parte 1)

Page 2: 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

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

Instalando php na linha de comando

Adicionar o PHP na linha de Comando (PATH)

Localizar o arquivo php.exe, copie o caminho; (ex.: C:\xampp\php)

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, doiscliques/editar, adicione o caminho copiado;

Abra o terminal

Veri que se o php está disponível para comando: php -v

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

Executando o servidor embutido do php

Digite o seguinte comando no terminal:

php -S localhost:8080

*Disponível na versão +5.4.0

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

Paradigmas de programaçãoFuncionais

Orientação a Objetos

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

FuncionalBaseado 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;

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

Orientação a objetosImplementa um conjunto de classes que de nem os objetospresentes no sistema de software. (Wikipédia)

A grande vantagem é o reaproveitamento de código no sistema eoutros.

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

ClasseÉ o molde de algo concreto. Representa um conjunto de objetos comcaracterísticas a ns

<?phpclass 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; }}

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

$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();

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

Arquivo para teste<?php

require_once("Classe.php");

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

Padrão para Orientação a ObjetosUm arquivo para uma classe;

Sempre singular.

Objeto: instância de uma classe.

<?php

class Conta{

}

$contaFulano = new Conta;$contaCiclano = new Conta;

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

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";

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

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

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

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();

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

Herança: uma classe pode estender outra classe, aproveitando seusmétodos e atributos possíveis.

<?php

class Conta{ ...}

<?php

class ContaCorrente extends Conta{ ...}

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

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"; }}

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

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"; }}

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

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 serredeclarada;

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

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.

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

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

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

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

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

That's all folks! Marp (https://yhatt.github.io/marp/)