Re: [php6] OOP resources
Am 21.02.2014 22:13, schrieb Chris Wright:
> On 21 February 2014 20:07, Marc Bennewitz <[email protected]> wrote:
>> Hi,
>>
>> here another idea for PHP 6 the simply means removing the datatype
>> "resource" because and convert current resources into classes/objects
>> as it's already done with GMP.
>>
>> Because resources are simply a pointer to a somewhere described data
>> structure - resources are the exactly the use case for objects.
> I'm a big fan of this idea in principle, resources have always struck
> me as just a messier way of dealing with objects. However, to go
> through every usage of the resource type an convert them is a mammoth
> task, because I don't there being any point in doing it unless the
> procedural APIs that use them are given an OO overhaul. The vast
> majority of the time they are used in the context of
> <resource_purpose_prefix>_action_name($resource, ...$args)
, and if
> they were converted to objects a $resource->action_name()
method is
> what I would expect. The procedural APIs could still be maintained,
> much like MySQLi.
>
> I don't see the goal of completely removing the resource type as being
> practical or, considering how many PECL and custom extensions this
> would affect, sensible. However, I'd be all for a general push to
> convert/duplicate as many core resource-oriented APIs as possible to
> OO APIs.
Shouldn't it be possible to change the internal resource macros to
generate objects of a specified class unter the hood?
>
>> To be bc current resources should be instances of an interface
>> "Resource" and the function "is_resource" would work similar as
>> "$resource instanceof Resource".
> And, more importantly, it will become a lot easier (in many cases,
> simply "possible") to determine what a "resource" is actually for. In
> reality is_resource() isn't hugely useful, I can't call fwrite() on a
> stream context resource, for example.
>
Thread (10 messages)