--- Bertrand Mansion <[EMAIL PROTECTED]> wrote: > <[EMAIL PROTECTED]> wrote : > > > > > --- Bertrand Mansion <[EMAIL PROTECTED]> wrote: > >> <[EMAIL PROTECTED]> wrote?: > >> > >>> $classname::method() === call_user_func(array($classname,'method')); > >> > >> No. $classname::method() is illegal and is in no case === to > >> call_user_func(array($classname,'method')) as you state it. > >> > >> Class foo { > >> function bar() { > >> echo $this->param; > >> } > >> } > >> > >> Class MyObject { > >> var $param; > >> function MyObject($param) { > >> $this->param = $param; > >> foo::bar(); > >> } > >> } > >> > >> $obj = new MyObject('out of this'); > >> > >> will print 'from MyObject'. > > > > > > This SHOULDN'T print 'out of this', This seems like a bug, and you > SHOULDN'T > > depend on this functionality. The scope of $this inside class foo method > bar, > > Should be to foo::bar NOT MyObject::MyObject. Which if my memory serves me > > right $this inside a static method will just be the string of the current > > class? > > Hi Brad, > > Are you sure about that ? The manual states that this is the normal > behaviour which I find very handy and useful in many cases. I see a lot of > possibilities with this feature, for instance a way to develop some kind of > plug-ins for existing classes without having to extend them.
Where in the manual do you see this? > > This can probably lead to some dangerous code but this goes far beyond my > knowledge. besides dangerous code if you find yourself doing this, you probally aren't designing it correct. Your creating a static method of a class to access local properties of another class thru the use of $this. If you want a way to access member variables from a class in a static method, pass the object refrence into the method. Class foo { function bar($obj) { echo $obj->param; /* $this should referr to the foo refrence, not another class refrence */ } } Class MyObject { var $param; function MyObject($param) { $this->param = $param; foo::bar($this); } } - Brad __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php