|  | 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] |