Hi!

> 1) what's the difference between zend_object and zend_object_value? what is 
> each for? Because i'm confused..
> 2) What are zend_object_store_bucket; and zend_object_store used for?

It may be easier to look at it this way:
For the engine, the object is an abstraction, which has an ID and a set
of handlers (see zend_object_handlers structure). That's how the engine
talks to the objects. That's what zend_object_value is.

These objects can be, in theory, anything. In practice, all user-space
objects (as opposed to objects that may be created by the engine) are
something that we can call "standard Zend engine objects". These objects
are created from Zend Engine classes, have properties, etc. - that's
what zend_object stores. These objects are kept in the "object store"
and each time you create one it gets stored there and receives a store
ID. That's the ID the rest of the engine (see above) uses to talk to the
object. Note that custom objects (not standard ones) also can be kept in
the store, but do not have to be. Keeping them in the store saves some
work though - because you'd have to keep them somewhere anyway...

zend_object_store_bucket is just a data structure used in the
maintenance of the store - it contains the actual object data and some
service values that are needed to efficiently manage store memory.

You may also check out Zend/OBJECTS2_HOWTO file in PHP source - it has
some more details.
-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to