PHP5 - Construtores e Destrutores
Método Destrutor
O PHP5 também traz um outro método chamado método destrutor representado da seguinte maneira:
__destruct()
Seu uso pode ser observado no seguinte exemplo:
Um simples uso disso seria:
Espero ter ajudado mostrando um dos novos recursos que estarão no PHP5.
Fonte: http://www.phpvolcano.com
Até o próximo artigo.
O PHP5 também traz um outro método chamado método destrutor representado da seguinte maneira:
__destruct()
Seu uso pode ser observado no seguinte exemplo:
<?php class Marcelo { var $variable; var $add_body; /** * Método construtor */ function __construct() { $this->variable = "do anything"; } /** * Método que cria meu corpo.. * */ function make_body($part) { $this->add_body = $part; } function __destruct() { echo "eu sou um método destrutor"; } } ?>
Um simples uso disso seria:
<?php $myself = new Marcelo(); $myself->make_body("cabeça"); $myself->make_body("pé"); $myself->make_body("asas"); // essa proxima linha irá chamar o metodo destrutor da classe Marcelo unset($myself); ?>
Espero ter ajudado mostrando um dos novos recursos que estarão no PHP5.
Fonte: http://www.phpvolcano.com
Até o próximo artigo.
Corrigindo: Galera, adorei o artigo. Acho q não existe a necessidade de termos dois métodos com a mesma finalidade apenas porque existem pessoas que tem preguiça de migrar seus scripts para o php5, tendo que trocar tudo.
27/12/2004 2:26pm
(~20 anos atrás)
Galera, adorei o artigo. Acho q não existe a necessidade de termos dois métodos com o mesmo nome apenas porque existem pessoas que tem preguiça de migrar seus scripts para o php5, tendo que trocar tudo.
27/12/2004 2:24pm
(~20 anos atrás)
Correção do post anterior:
"Só DIZ que não há mais necessidade de se colocar um método com o mesmo nome da CLASSE, mas isso não significa em momento algum que essa funcionalidade deixa de existir!"
"Só DIZ que não há mais necessidade de se colocar um método com o mesmo nome da CLASSE, mas isso não significa em momento algum que essa funcionalidade deixa de existir!"
27/05/2004 10:12am
(~20 anos atrás)
Tudo bem, entendi... mas em nenhum momento o artigo diz que não vai mais existir o modo antigo (usando o nome da classe).
"No Zend Engine 2 (a parte do PHP5 que lida com esses features de OO) existe um método para fazer isso tudo, sendo assim, não há a necessidade de se colocar um método com o mesmo nome da função."
Só que não há mais necessidade de se colocar um método com o mesmo nome da função, mas isso não significa em momento algum que essa funcionalidade deixa de existir!
Att!
"No Zend Engine 2 (a parte do PHP5 que lida com esses features de OO) existe um método para fazer isso tudo, sendo assim, não há a necessidade de se colocar um método com o mesmo nome da função."
Só que não há mais necessidade de se colocar um método com o mesmo nome da função, mas isso não significa em momento algum que essa funcionalidade deixa de existir!
Att!
27/05/2004 10:09am
(~20 anos atrás)
bom, na verdade lamentável é esquecer de ler o artigo..
o que é proposto no PHP 5 é exatamente o que voce comentou Marcos
usaremos agora palavras reservadas
em relação ao modo antigo acredito que ele ainda continue como aconteceu com as variáveis globais $_POST que era $HTTP_POST_VARS
o que é proposto no PHP 5 é exatamente o que voce comentou Marcos
usaremos agora palavras reservadas
em relação ao modo antigo acredito que ele ainda continue como aconteceu com as variáveis globais $_POST que era $HTTP_POST_VARS
21/05/2004 6:20am
(~20 anos atrás)
Pra que inventar moda? Usem o mesmo nome da classe ou se não usem uma palavra reservada tipo no delphi (constructor e descturctor..)
Alias, continua valendo usar o mesmo nome da classe?
See yah!
Alias, continua valendo usar o mesmo nome da classe?
See yah!
20/05/2004 8:43pm
(~20 anos atrás)
A maioria dos programadores aprendeu desde que se conhecem por gente que um método que recebe O MESMO NOME DA CLASSE é um construtor, isso tornou-se um padrão, por assim dizer (acho que graças ao Java).
Eu acho que essa mudança não fez muita diferença, apenas ao invés de colocar o nome da classe, coloca-se "_constructor()", eu só acho que deveria haver a possibilidade de usar-mos das duas maneiras, para não ter que ficar modificando códigos. Nesse caso não é uma mudança muito extraordinária. Não sou contra evoluções no php, mas eu acho que existem outras coisas mais importantes para melhorar que ficar apenas trocando termos. É o que eu acho...
Eu acho que essa mudança não fez muita diferença, apenas ao invés de colocar o nome da classe, coloca-se "_constructor()", eu só acho que deveria haver a possibilidade de usar-mos das duas maneiras, para não ter que ficar modificando códigos. Nesse caso não é uma mudança muito extraordinária. Não sou contra evoluções no php, mas eu acho que existem outras coisas mais importantes para melhorar que ficar apenas trocando termos. É o que eu acho...
17/05/2004 12:52pm
(~20 anos atrás)
Bom, que o php tem que melhorar e evoluir todos nós concordamos. Que a orientação a objetos faz parte disso também todos nós concordamos, e também concordamos que o php 5 é uma evolução enorme. Certo, agora mudar a sintax de construtores e destrutores não tem nada que ver com isso! Se não vejamos: c, c++ e java são linguagens espetaculares. Se a mudansa na sintax do php é assim tão melhor, tão revolucinária, tão iluminada, então vamos mudar a sintax das outras também! Acho simplismente ridículo! Tudo bem, mentalidade aberta, mudansas de conceito certo, mas e a portabilidade de códigos? Por que dificultar? Eu era programador c++ e aprendi php sem problemas justamente por isso (ponto de vista de sintax), assim como um programador basic não tem dificuldades com asp, mas se o php fosse todo cheio de "constructs" da vida em vez de ser em um padrão c eu iria ter muito mais dificuldades!
Uma linguagem pode ser boa sem que mudem sua sintax no meio da sua vida. O que aconteceria se mudassem a sintax do c++ hoje? E os "códigos velhos?".
Bom, essa é a minha opinião, não é a verdade absoluta, mas é o que eu sinseramente acho.
Marlon
Uma linguagem pode ser boa sem que mudem sua sintax no meio da sua vida. O que aconteceria se mudassem a sintax do c++ hoje? E os "códigos velhos?".
Bom, essa é a minha opinião, não é a verdade absoluta, mas é o que eu sinseramente acho.
Marlon
15/05/2004 1:53pm
(~20 anos atrás)
nao concordo...
acho q não seria necessário reservar uma palavra para um coisa que já é padrão em linguagens plenamente OO como C++ e Java...
cada um tem sua opnião, mas eu acho q complica sim...
acho q não seria necessário reservar uma palavra para um coisa que já é padrão em linguagens plenamente OO como C++ e Java...
cada um tem sua opnião, mas eu acho q complica sim...
07/05/2004 12:19pm
(~20 anos atrás)