resources vs objects?

php.internals

Brandon Fosdick

20 years ago
From the point of view of an extension, what's the difference between a resource and an object? Is there any reason to favor one over the other? sqlite seems to use resources for the procedural interface and objects otherwise. Whereas mysqli uses objects all around in user space, but then maps them to resources in the background. Why use objects only to map them to resources? Are resources somehow special?

Brandon Fosdick

20 years ago
Brandon Fosdick wrote:
>> From the point of view of an extension, what's the difference between >> a resource and an object? Is there any reason to favor one over the >> other? > > sqlite seems to use resources for the procedural interface and objects > otherwise. Whereas mysqli uses objects all around in user space, but > then maps them to resources in the background. Why use objects only to > map them to resources? Are resources somehow special? >
Sorry for the double post. Thunderbird suddenly went crazy...and seems to have taken firefox with it. I don't know why one part is quoted either, that really should have been a single original message. Sorry about that.

Andrey Hristov

20 years ago
Hi, Brandon Fosdick wrote:
>> From the point of view of an extension, what's the difference between >> a resource and an object? Is there any reason to favor one over the >> other? > > > sqlite seems to use resources for the procedural interface and objects > otherwise. Whereas mysqli uses objects all around in user space, but > then maps them to resources in the background. Why use objects only to > map them to resources? Are resources somehow special? >
mysqli does not use resources at all. Even in the procedural interface, the "resources" are just objects. Thus, procedural and OO code can be mixed, for those wanting to write spaghetti code or for legacy and non-legacy code. $c = mysqli_connect(....); $r= $c->query(); ... Cheers, Andrey