Método construtor do PHP

O método construtor de uma classe sempre é executando quando um objeto da classe é instanciado. É um tipo especial de função do PHP. Normalmente o programador utiliza o método construtor para inicializar os atributos de um objeto, como por exemplo: Estabelecer conexão com um banco de dados, abertura de um arquivo que será utilizado para escrita de log, etc.

O que você deve saber sobre o método construtor:

  • O método construtor define os valores iniciais dos atributos de um objeto;
  • Construtores são funções, logo aceitam passagem de parâmetros;
  • Diferente de outras linguagens o PHP aceita apenas um construtor.

Caso o programador não defina um método construtor para a classe, automaticamente ao instanciar um objeto seus atributos serão inicializados com o valor NULL.

Antes da versão PHP5 por convenção o construtor era um método que tinha o mesmo nome da classe. A partir da versão 5 do PHP podemos definir o método construtor da forma antiga ou usar o método a seguir (atenção para os dois underscore):

__construct()

Sempre que você quiser fazer alguma coisa na inicialização da classe, terá que usar esse método. O método construtor do PHP é executado logo que a linha abaixo é executada.

$pessoa1=new Pessoa();

Abaixo a forma antiga e a forma mais atual de declarar o método construtor:

class Pessoa
{
   function Pessoa() // Versão do PHP 4 e opcional para o PHP 5
  {
     echo "Olá, tudo bem com você";
   }
  function __construct() // PHP5
 {
   echo "Olá, tudo bem com você";
 }
}

No artigo vou utilizar a função (ou método) __construct.

Passando parâmetros para o método construtor

No momento da criação do nosso objeto podemos passar valores fixos, e também variáveis.

class Pessoa
{
  function __construct($name)
 {
   echo "Olá ".$name." Tudo bem?";
 }
}

Agora ao criar nosso objeto devemos passar como parâmetro o nome da pessoa. Veja o exemplo:

$pessoa=new Pessoa('Antenor');

Utilizando o método construtor podemos passar mais de um parâmetro:

class Pessoa
{
  function __construct($nome, $idade) 
 {
   echo "A pessoa se chama ".$nome."e sua idade é: ".$idade;
 }
}

Nesse exemplo passamos como parâmetro o nome e a idade da pessoa no momento que instanciamos nosso objeto.

$pessoa1=new Pessoa('Antenor',’26’);

Método destrutor

Ao falarmos de método construtor não podemos deixar de falar, mesmo que brevemente, sobre o método destrutor do PHP.

O método __destruct() funciona como um finalizador e, é executado ao finalizarmos um objeto, ou seja, quando o objeto é desalocado da memória, quando atribuímos NULL ao objeto, quando usamos a função unset() no objeto, ou também quando o programa é fechado.

function __destruct()
{
echo “Objeto finalizado”;
}

Toda classe tem duas funções especiais, e são elas, construtor e destruidor. Mesmo se você não declarar explicitamente e defini-las, elas existem.

GRANDE abraço à todos e até o próximo artigo. 😉
Me siga no Twitter: @kadunew


Comentários

3 respostas para “Método construtor do PHP”

  1. má que beleza de artigo. Claro, objetivo, exemplos simples. E pra completar, já tava preenchido meu nome email e site nos campos dos comentários. Vai levar 5 estrelas de “bamba” = * * * * *

  2. Muito bom!Até que enfim encontrei um que detalhava a informação, além de não copiar o que tem no manual do php, ainda explicou tornando mais fácil o entendimento…parabéns geral, essa é a ideia da didática, explicar algo que todo mundo já sabe de uma maneira mais clara e com novos exemplos!!!

  3. Tenha uma duvida, é obrigatório criar na classe o sua função construtora e destruidora?