Help with object creation

php.internals

Bob Silva

20 years ago
Looking through the source, there are a few extensions which create objects internally and when they do this (usually with an instanciate method), they typically set is_ref == 1. Like so: object_init_ex(object, class_entry); object->refcount = 1; object->is_ref = 1; Why set the is_ref? Aren't objects treated as is_ref natively throughout the engine? Or is this just old code from PHP 4 days that is still hanging around? Thanks for the understanding. Bob Silva

Marcus Börger

20 years ago
Hello Bob, in php 4 that prevents a useless copy after new (and dont't ask why). Since your stuff is php 5 only you should make that is_ref=0. marcus Sunday, November 20, 2005, 6:55:49 PM, you wrote:
> Looking through the source, there are a few extensions which create objects > internally and when they do this (usually with an instanciate method), they > typically set is_ref == 1. Like so:
>
> object_init_ex(object, class_entry);
> object->refcount = 1;
> object->is_ref = 1;
>
>
> Why set the is_ref? Aren't objects treated as is_ref natively throughout the > engine? Or is this just old code from PHP 4 days that is still hanging > around?
>
> Thanks for the understanding.
>
> Bob Silva
>
Best regards, Marcus