--- Dan Hardiker <[EMAIL PROTECTED]> wrote: > Hi All, > > If I was to code something like: > > <?php > > class Example { > var $abc = false; > function Demo($param) { > // etc // > return $param; > } > } > > $ex1 = new Example; > $ex2 = new Example; > > ?> > > There are now 2 variables, both with a copy of the object Example in them. > Now, I would expect the variables in the objects to be duplicated (eg: the > memory space for $ex1->abc to be separate from $ex2->abc). However, is the > method definition the same?
Yes the method is only compiled once. Altho when you extend an object the opcodes will get copied. (opcodes being compiled php code) > Is the method definition and contents duplicated each instancing? (eg: if > I have 100,000 instances of an object with a "print()" method - would that > method be copied to each object - or would the reference the same memory > space). Again only compiled once. > If the method is shared, then would a static variable in a method be > shared across the entire class - or would it still reference to that > object instance's variable memory space? Static varibles by definition (in all languages) are across all instances of an object. > If the method is not shared, could this cause an issue with a class that > has a lot of methods being instanced lots of time and taking up lots of > memory? Not an issue. -brad __________________________________________________ Do You Yahoo!? HotJobs - Search Thousands of New Jobs http://www.hotjobs.com -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php