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”
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” = * * * * *
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!!!
Tenha uma duvida, é obrigatório criar na classe o sua função construtora e destruidora?