SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    Como criar e usar variáveis estáticas em PHP I

    JasonVoorhees
    JasonVoorhees
    --> Postador Iniciante
    --> Postador Iniciante


    Mensagens : 134
    Moedas : 4502
    Data de inscrição : 09/08/2012

     Como criar e usar variáveis estáticas em PHP I Empty Como criar e usar variáveis estáticas em PHP I

    Mensagem por JasonVoorhees Qui 9 Ago 2012 - 21:34

    Como criar e usar variáveis estáticas em PHP

    Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Dessa forma, cada instância (cópia ou objeto) desta classe possui suas próprias cópias das variáveis declaradas na classe.

    Veja a seguinte declaração de uma classe Produto:

    Código:
    <?
      // classe Produto com duas variáveis privadas e seus
      // correspondentes métodos mutatórios e acessórios
      class Produto{
        private $nome;
        private $preco;

        public function setNome($nome){
          $this->nome = $nome;
        }

        public function getNome(){
          return $this->nome;
        }

        public function setPreco($preco){
          $this->preco = $preco;
        }

        public function getPreco(){
          return $this->preco;
        }
      }
    ?>

    Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco.

    Há, porém, situações nas quais gostaríamos que uma determinada variável pertencesse à classe e não à cada instância individual. Um bom exemplo disso seria uma variável que registra a quantidade de instâncias que temos de uma classe ou a técnica de se atribuir um identificador único a cada instância da classe.

    Variáveis estáticas em PHP podem ser criadas por meio do uso da palavra-chave static. É comum tais variáveis serem declaradas com o modificador public, o que as torna acessíveis fora da classe na qual estas estão declaradas. Veja um exemplo:

    Código:
    <?
      // classe Produto com duas variáveis privadas e seus
      // correspondentes métodos mutatórios e acessórios
      class Produto{
        private $nome;
        private $preco;
       
     
        // uma variável estática que permite contar as instâncias
        // desta classe
        public static $contador = 0;

        // construtor da classe Produto
        function __construct(){
          // vamos incrementar o contador aqui
          self::$contador++;
        }
      }

      // vamos criar duas instâncias da classe Produto
      $p1 = new Produto();
      $p2 = new Produto();

      // vamos obter o valor do contador de instâncias
      echo "Até este momento já criamos " . Produto::$contador .
        " instâncias da classe Produto";
    ?>

    Este código possui alguns pontos interessantes e merece uma análise bem detalhada. Perceba que, dentro da classe, uma variável estática é acessada usando-se self e não $this, como fazemos com as variáveis de instâncias. Outra observação interessante é em relação ao acesso da variável estática fora da classe. Aqui nós usamos o nome da classe seguida por um par de dois pontos "::" e não por meio de referências às suas instâncias individuais. Finalmente observe o construtor da classe. A cada instância construída nós acessamos a variável estática e incrementamos seu valor em 1.

    É importante observar que variáveis estáticas não podem ser acessadas por meio de referências às instâncias da classe usando o operador "->". Assim, o trecho de código abaixo:

    Código:
    // vamos tentar alterar o valor da variável estática por meio
    // de uma referência a uma das instâncias da classe Produto
    $p1->contador = 5;

    não provoca erros mas, também não traz o resultado esperado.
    Palavras-chaves:
    > Veja, tentar, Produto , Como, nome, > , usando, próprias, acessíveis, cada, acessadas, $nome, uso, forma, serem, meio, =, $this->preco, criadas, duas, dentro, variáveis, getPreco, e, das, acessamos, torna, ; , observar, instâncias, determinada, "->", instância, relação, seria, o, podem, static, ; , construída, , incrementar, com, abaixo, , $p1, valor, pertencesse, cópias, usar, individual, não, modificador, meio , acessada, já, function, ou, de, observe, código, registra, fora, se, 1, construtor, ao, vimos, instâncias , quantidade, situações, $contador++; , resultado, É, 5; , aqui , seção, echo, ", estas, Perceba, em, suas, à, que, Produto $p1->contador, mas, $nome; , cópia, nas, da, do, contar, este, qual, outras, PHP, Outra, seu, > Há, técnica, referências, correspondentes, uma, objeto, estáticas, disso, contador, ?> , não, $preco, Veja, referência, tais, Como, temos, nós, um, Produto, palavra-chave, mutatórios, criamos, também, detalhada, estática, self, permite, > É, incrementamos, > Variáveis, na, private, acesso, __construct, getNome, Aqui, $contador, classe , Um, porém, privadas, interessantes, obter, é, momento, > Este



    Ei você ai. Meu Fã ? então use!!
     Como criar e usar variáveis estáticas em PHP I 8iOCm
     Como criar e usar variáveis estáticas em PHP I Fanbarpedropng
    EU SO FÃ DO PEDRO

      Data/hora atual: Qua 1 maio 2024 - 18:51