SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
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/)

Mais conteúdo relacionado

Mais procurados

Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAAparicio Junior
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드Opennaru, inc.
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)Helder da Rocha
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOAndré Victor
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosDaniel Brandão
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsHelder da Rocha
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosDaniel Brandão
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacaoAislan Rafael
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceçõesAlvaro Oliveira
 

Mais procurados (20)

Introdução a ciência de dados com Python
Introdução a ciência de dados com PythonIntrodução a ciência de dados com Python
Introdução a ciência de dados com Python
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
HERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVAHERANÇA - Programação Orientada a Objetos JAVA
HERANÇA - Programação Orientada a Objetos JAVA
 
Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
Apache Tomcat ( 아파치 톰캣 ) 설치 가이드
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
JAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTOJAVA - ENCAPSULAMENTO
JAVA - ENCAPSULAMENTO
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Estrutura de dados - Pilhas
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - Pilhas
 
Curso MySQL #04 - Melhorando banco de dados
Curso MySQL #04 - Melhorando banco de dadosCurso MySQL #04 - Melhorando banco de dados
Curso MySQL #04 - Melhorando banco de dados
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Encapsulamento em Orientação a Objetos
Encapsulamento em Orientação a ObjetosEncapsulamento em Orientação a Objetos
Encapsulamento em Orientação a Objetos
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
aula 04 - Logica de programacao
aula 04 - Logica de programacaoaula 04 - Logica de programacao
aula 04 - Logica de programacao
 
Tratamento de exceções
Tratamento de exceçõesTratamento de exceções
Tratamento de exceções
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 

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

Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Thyago Maia
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisDaniel Brandão
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHPAugusto das Neves
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitDiego Tremper
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Thyago Maia
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIinfo_cimol
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009silva.edgar
 
PHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHPPHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHPiMasters
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Elton Minetto
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01joaocarlobarros
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 

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

Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3Fundamentos da Programação PHP OO - Aula 3
Fundamentos da Programação PHP OO - Aula 3
 
Aprofunde se no php 5.3
Aprofunde se no php 5.3Aprofunde se no php 5.3
Aprofunde se no php 5.3
 
Aula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas CondicionaisAula03 PHP - Estruturas Condicionais
Aula03 PHP - Estruturas Condicionais
 
5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP5 Maneiras de melhorar seu código PHP
5 Maneiras de melhorar seu código PHP
 
Dev Ext PHP
Dev Ext PHPDev Ext PHP
Dev Ext PHP
 
Qualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnitQualidade no desenvolvimento de software com PHPUnit
Qualidade no desenvolvimento de software com PHPUnit
 
Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3Desenvolvimento Web com PHP - Aula 3
Desenvolvimento Web com PHP - Aula 3
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009Zend Framework - PHPSP - 2009
Zend Framework - PHPSP - 2009
 
Doctrine for dummies
Doctrine for dummiesDoctrine for dummies
Doctrine for dummies
 
PHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHPPHP-CLI in 7 steps - 7Masters PHP
PHP-CLI in 7 steps - 7Masters PHP
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 
Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01Serversidephp pptx2-120418140114-phpapp01
Serversidephp pptx2-120418140114-phpapp01
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
Funcao PHP
Funcao PHPFuncao PHP
Funcao PHP
 
Aula5
Aula5Aula5
Aula5
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
Php FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHPPhp FrameWARks - sem CakePHP
Php FrameWARks - sem CakePHP
 

Mais de Israel Messias

Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2Israel Messias
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosIsrael Messias
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosIsrael Messias
 
Ferramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - CanvasFerramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - CanvasIsrael Messias
 
Ferramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - ÁudioFerramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - ÁudioIsrael Messias
 
CSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - MedidasCSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - MedidasIsrael Messias
 
CSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - RevisãoCSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - RevisãoIsrael Messias
 
CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2Israel Messias
 
CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1Israel Messias
 
HTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - ReviewHTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - ReviewIsrael Messias
 
HTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTPHTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTPIsrael Messias
 
HTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivosHTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivosIsrael Messias
 
HTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - FormulárioHTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - FormulárioIsrael Messias
 
HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review Israel Messias
 
HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5Israel Messias
 
HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3Israel Messias
 

Mais de Israel Messias (20)

CMS
CMSCMS
CMS
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2Programação Orientada a Objetos (POO) com PHP - Parte 2
Programação Orientada a Objetos (POO) com PHP - Parte 2
 
Websockets
WebsocketsWebsockets
Websockets
 
Arquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - ModelosArquitetura Cliente-Servidor - Modelos
Arquitetura Cliente-Servidor - Modelos
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Arquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dadosArquitetura Cliente-Servidor - Banco de dados
Arquitetura Cliente-Servidor - Banco de dados
 
Ferramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - CanvasFerramentas para Animações de Sites - Canvas
Ferramentas para Animações de Sites - Canvas
 
Ferramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - ÁudioFerramentas para Animações de Sites - Áudio
Ferramentas para Animações de Sites - Áudio
 
CSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - MedidasCSS - Cascading Style Sheets - Medidas
CSS - Cascading Style Sheets - Medidas
 
CSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - RevisãoCSS - Cascading Style Sheets - Revisão
CSS - Cascading Style Sheets - Revisão
 
CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2CSS - Cascading Style Sheets - 2
CSS - Cascading Style Sheets - 2
 
CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1CSS - Cascading Style Sheets - 1
CSS - Cascading Style Sheets - 1
 
HTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - ReviewHTML - HyperText Markup Language - Review
HTML - HyperText Markup Language - Review
 
HTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTPHTML - HyperText Markup Language - FTP
HTML - HyperText Markup Language - FTP
 
HTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivosHTML - HyperText Markup Language - Organização de arquivos
HTML - HyperText Markup Language - Organização de arquivos
 
HTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - FormulárioHTML - HyperText Markup Language - Formulário
HTML - HyperText Markup Language - Formulário
 
HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review HTML - HyperText Markup Language - 4 - Review
HTML - HyperText Markup Language - 4 - Review
 
HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5HTML - HyperText Markup Language - HTML5
HTML - HyperText Markup Language - HTML5
 
HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3HTML - HyperText Markup Language - 3
HTML - HyperText Markup Language - 3
 

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

  • 1. Programação Orientada a Objetos (POO) com PHP (Parte 1)
  • 2. Padronização de código PHP Do Jeito Certo PHP Standard Recommendation. PSR-1: Basic Coding Standard PSR-2: Coding Style Guide
  • 3. 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
  • 4. Executando o servidor embutido do php Digite o seguinte comando no terminal: php -S localhost:8080 *Disponível na versão +5.4.0
  • 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 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.
  • 8. 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; } }
  • 9. $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();
  • 11. 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;
  • 12. 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";
  • 13. 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
  • 14. 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();
  • 15. Herança: uma classe pode estender outra classe, aproveitando seus métodos e atributos possíveis. <?php class Conta { ... } <?php class ContaCorrente extends Conta { ... }
  • 16. 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"; } }
  • 17. 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"; } }
  • 18. 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;
  • 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é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
  • 21. 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
  • 22. That's all folks! Marp (https://yhatt.github.io/marp/)