You are here: Re: [PHP] Re: OOP Newbie - why does this not work? « PHP « IT news, forums, messages
Re: [PHP] Re: OOP Newbie - why does this not work?

Posted by Jochem Maas on 10/22/05 17:04

Andy Pieters wrote:
> While the use of () or not doesn't impede the function of his code, I consider
> it good programming habit to always add () to the class creator. Since it is

creator? you mean constructor (same difference).

> considered a function, you wouldn't call a function like x=function but

'method' would be more 'correct'. and I don't agree that it is considered
a function as you are not directly calling the constructor (if it even
exists), but rather instantiating an instance of a class.

but that is all rather purist, and not really in the spirit of php.
regardless you cant write ... :-)

class Test {}
$x = new (Test);

although you can do the following (for the benefit of the OP):

class Test {}
$a = "b"; $b = "Test"; $c = "a";
$d = ( ${${$c}} ); /* (the brackets are optional) */
$x = new $d; /* or: $x = $d(); */
$y = new ${("b")}; /* or: $y = new ${("b")}(); */
$z = new ${${$c}}; /* or: $z = new ${${$c}}(); */
${""} = new Test;
var_dump($x, $y, $z, ${""});



> rather x=function(). It is more consistent that way.

Consistency shares a house with Standards, and you know what
they say about Stan ;-)

>
> On Friday 21 October 2005 16:31, Jochem Maas wrote:
>
>>Nathan Tobik wrote:
>>
>>>You have to show us the definition for your class, also your syntax for
>>>new is wrong. It should be:
>>>
>>>$liveclass = new Test();
>>
>>it can also be (if you have nothing to pass to the constructor function):
>>
>>$liveclass = new Test;
>>
>>
>>>Nate Tobik
>>>(412)661-5700 x206
>>>VigilantMinds
>>>
>>>-----Original Message-----
>>>From: John Taylor-Johnston
>>>[mailto:John.Taylor-Johnston@cegepsherbrooke.qc.ca]
>>>Sent: Friday, October 21, 2005 7:57 AM
>>>To: php-general@lists.php.net
>>>Subject: [PHP] Re: OOP Newbie - why does this not work?
>>>
>>>Here,s my guess:
>>>
>>>> var $liveclass;
>>>> $liveclass = new(Test);
>>>> echo $liveclass->get() ;
>>>> echo "<BR>" ;
>>>> echo "This is in the php code block" ;
>
>

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация