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