• Home
  • Posts RSS
Blue Orange Green Pink Purple

PHP ARTE

PHP ARTE seu curso de PHP online completamente gratuito passo a passo. Semanalmente estaremos colocando aulas para vocês seguindo o conteúdo programático para que você não se perca. Nossa intenção não é corrigir seu script ou criar um script para você, mas sim fazer com que você aprenda a criar e corrigir seus próprios scripts.

Aula 18 - Extends, Parent e Self - Operador de Escopo

Como já era previsto a conexão não me permitiu enviar um vídeo rsss.

Mas de qualquer forma vamos escrever mesmo, chegamos a nossa última aula de Orientação a Objeto. Muitos vão dizer, mas falta muita coisa ainda!!!, eu sei mas se eu fosse falar tudo sobre PHP nós levariamos 10 anos para terminar o curso rsss.

Mas o importante aqui e termos noção de como as coisas funcionam no PHP, e após essa aula nós vamos começar a criar scripts, com isso vamos ver como aplicar o que aprendemos de uma forma prática! (bom né?)

Ok hoje vamos falar sobre Operador de resolução de escopo.

Mas antesss...O PHP5 agora nós permite acessar constantes e métodos estáticos através de um operador de definição de escopo (que nomezinho hein rsss) para piorar o nome dele é ainda mais feio Paamayim Nekudotayim huhuhu TENSO, sendo ele  :: (dois pontos)

Tá mas pra que serve essa coisa? Vamos exemplificar:


<?php

class Php5Operador

{
    const FRASE = "Essa é nossa frase padrão";
}
echo Php5Operador::FRASE;
?>

Ou sejaaa, nós podemos chamar sem ter que instanciar uma classe. Ok entendido nosso operador de escopo certo?

Vamos lá, para agilizar, vamos aprender tudo de uma vez rsss
Primeiramente vamos definir o que é cada coisa:

self:: - quando se trata da classe, atributos estaticos.
$this é um 'ponteiro' que 'aponta' para o proprio objeto.
parent:: - Onde podemos acessar métodos de outras classes extendidas
extends - herda métodos da classe pai

<?php
class Clientes
{
    //declarando as variáveis
    private $nome;
  
    //metodo construtor que vai receber as informações dos clientes
    function __construct($nome)
    {
        $this->nome = $nome;
    }
    //metodo reponsável por retornar o nome
    function getNome()
    {
        return $this->nome;
    }
    //metodo reponsável por atribuir o nome
    function setNome($nome)
    {
        $this->nome = $nome;
    }
}
$cli = new Clientes('Kin');
$cli2 = new Clientes('Fernando');
echo $cli->getNome();
echo '<br />';
echo $cli2->getNome();

//Ok temos nossos clientes porém existem pessoas juridca e física
//como ainda estamos trabalhando com Cliente então vamos extender
//a classe clientes ao tipo de pessoa, podendo assim acessar metodo da classe pai
//que é clientes
//Agora ao instanciar a classe Juridica podemos herdar os métodos da classe Cliente

class Juridica extends Clientes
{
    private $cnpj;
  
    function __construct($nome,$cnpj)
    {
        //vamos usar o parent para acessar os métodos da nossa classe pai CLIENTES
        parent::__construct($nome);
        $this->cnpj = $cnpj;
    }
  
    //metodo reponsável por retornar o cnpj
    function getCnpj()
    {
        return $this->cnpj;
    }
  
    //metodo reponsável por atribuir o cnpj
    function setCnpj($cnpj)
    {
        $this->cnpj = $cnpj;
    }
}

echo '<br />';
echo '--------------';
echo '<br />';
$cliJuridica = new Juridica('Kin','012401.65484.12357-11');
//método herdado da classe Clientes
echo $cliJuridica->getNome();
echo '<br />';
echo $cliJuridica->getCnpj();
?>

Entendido o Extends e o Parent, vamos entender o Self, nada melhor do que um exemplo prático que diz por sí só pra qu serve.

<?php
class Paginas
{
    private $pagina;

    function __construct($p=NULL)
    {
        switch ($p) {
            case 'contato':
                self::contato();
                break;
            default:
                self::contato();
                break;
        }
    }
  
    function home()
    {
        echo 'Bem Vindo nossa página!';  
    }
  
    function contato()
    {
        echo 'Bem Vindo a nossa página de contato!';
    }
}

//se eu não passar parametro carrega a página home
$carrega_pag = new Paginas();
//se eu passar carrega a pagina que eu solicitar
//ex:  phparte.blogspot.com/index.php?pag=contato
$carrega_pag = new Paginas($_GET['pag']);
?>

Bem galera sei que não ficou NOSSA QUE AULA DOIDA!!! mas enfim, como eu já disse anteriormente estou sem emprego pois acabei de me mudar e o fernando terminando trabalho de conclusão de curso da Faculdade, então estamos super atarefados, estou fazendo milhões de biquinhos.
Qualquer dúvida posta ai que a gente explica na medida do possível.

Iremos agora começar a criar alguns scripts aplicando tudo que vimos, algo como mural, blog, formulário de cadastro, autenticação e coisas do dia a dia.


Se possível deixe um cafezinho para a gente!

+Ler mais 3 comentários | Postado por Marco | edit post

3 comentários

  1. Paulabomdia on 6 de julho de 2010 às 17:27

    oie.... pode me dar uma força???
    eu estou tentando fazer um código, eu fiz um index.html e nele chamei action processorder.php e abri um arquivo com umas funçoes em php com esse nome... é meu primeiro programa php, mas esse quando envio o pedido aparece o código inteiro na página de navegação (do php), estou apanhando.... achei seu blog no site código fonte e tb tenho um blog, pode responder lá, ou por email se quiser ..... muito obrigada!!!!!! abraços!!!!!

     
  2. Fernando Macedo on 8 de julho de 2010 às 22:29

    Ola Paula, como você está chamando seu arquivo? e como está o arquivo que você está chamando? tem as tags

    Espero poder lhe ajudar.

    Abracos

     
  3. Anônimo on 20 de janeiro de 2012 às 05:07

    O problema é que você esta usando uma página html para incluir, use uma página php para poder incluir um documento php!

     


Postar um comentário

Postagem mais recente Postagem mais antiga Página inicial

PHP ARTE

  • Sobre nós

      Follow-me @fmacedos Fernando:
      Trabalho com desenvolvimento web e irei passar um pouco sobre PHP, tanto para quem está iniciando ou para quem já conhece a linguagem que deseja se manter atualizado, conhecer as novas tendências desta tecnologia que vem crescendo e sendo cada vez mais utilizada no mundo WEB.
      .

      Marco:
      Sou de Lavras Novas, trabalho com desenvolvimento freelancer e auxiliar de serviços gerais em um pousada e vou tentar passar um pouco do que sei para vocês sobre PHP de uma forma que fique fácil de aprender !
      Não sou um especialista, nem formado com pós graduação e milhões de certificado, sou apenas um usuário que aprendeu a programar na raça e estou tentando passar um pouco disto que aprendi para frente!


  • Contato

      E-mail: phparte@gmail.com
  • Busca


  • Forum Código Fonte
    Forum Código Fonte




  • Tags

    • apache (1)
    • apresentação (1)
    • atributos (1)
    • aula (8)
    • basico (11)
    • classe (1)
    • comparacao (1)
    • cookies (1)
    • correcao (1)
    • CRUD (1)
    • curso (3)
    • curso php (2)
    • curso php gratis (1)
    • curso php mysql gratuito (2)
    • curso php via skype (1)
    • doacao (1)
    • encapsulamento (2)
    • escopo (1)
    • estrutura de controle (1)
    • evento (1)
    • exercicio (2)
    • fim do blog (1)
    • gratis (3)
    • IDE (1)
    • include (1)
    • instalação (1)
    • introducao (1)
    • logicos (1)
    • login (1)
    • loops (1)
    • matematicos (1)
    • métodos (1)
    • mysql (2)
    • off (1)
    • OOP (1)
    • operadores (3)
    • orientação à objeto (2)
    • painel controrle (1)
    • parametros get (1)
    • PHP (19)
    • php oop poo (1)
    • php aula function (1)
    • php aula servidor (1)
    • php clausulas mysql (1)
    • php mysql (1)
    • require (1)
    • session (1)
    • variaveis sistema (1)
    • xampp (1)

    Arquivo

    • ►  2011 (4)
      • ►  30 outubro - 6 novembro (1)
      • ►  22 maio - 29 maio (1)
      • ►  13 março - 20 março (1)
      • ►  16 janeiro - 23 janeiro (1)
    • ▼  2010 (15)
      • ►  19 dezembro - 26 dezembro (1)
      • ►  21 novembro - 28 novembro (1)
      • ►  17 outubro - 24 outubro (1)
      • ►  26 setembro - 3 outubro (1)
      • ►  29 agosto - 5 setembro (1)
      • ►  1 agosto - 8 agosto (1)
      • ▼  27 junho - 4 julho (2)
        • Aula 18 - Extends, Parent e Self - Operador de Escopo
        • Agradecimento
      • ►  6 junho - 13 junho (1)
      • ►  2 maio - 9 maio (1)
      • ►  7 março - 14 março (1)
      • ►  28 fevereiro - 7 março (1)
      • ►  21 fevereiro - 28 fevereiro (1)
      • ►  31 janeiro - 7 fevereiro (1)
      • ►  3 janeiro - 10 janeiro (1)
    • ►  2009 (20)
      • ►  20 dezembro - 27 dezembro (1)
      • ►  6 dezembro - 13 dezembro (1)
      • ►  29 novembro - 6 dezembro (1)
      • ►  15 novembro - 22 novembro (2)
      • ►  8 novembro - 15 novembro (1)
      • ►  18 outubro - 25 outubro (1)
      • ►  11 outubro - 18 outubro (1)
      • ►  4 outubro - 11 outubro (1)
      • ►  27 setembro - 4 outubro (3)
      • ►  20 setembro - 27 setembro (5)
      • ►  13 setembro - 20 setembro (3)
    • Home
    • Posts RSS

    © Copyright PHP ARTE - Vídeo aula PHP e Mysql Grátis. All rights reserved.
    Bloggerized by FalconHive.com

    Voltar ao topo