Re: How to get the 'return type' of a function?
| From: | Nathan Rixham | Date: | Tue, 23 Feb 2010 15:44:17 +0000 |
| Subject: | Re: How to get the 'return type' of a function? | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-302315@lists.php.net to get a copy of this message | ||
tedd wrote:
> At 3:17 PM +0100 2/23/10, Daniel Egeberg wrote:
>> 2010/2/23 Dasn <dasn@lavabit.com>:
>> > Could you tell me how to retrieve the 'return type'?
>>> Thanks.
>>>
>>>
>>> --
>>> Dasn
>>
>> That's not possible. Consider this function:
>>
>> function foo()
>> {
>> switch (rand(0, 1)) {
>> case 0: return 42;
>> case 1: return 'bar';
>> }
>> }
>>
>> What should the return type be?
>>
>> --
>> Daniel Egeberg
>
>
> It can be anything you want to test for -- check out:
>
> is_int();
> is_nan();
> is_float();
> is_long();
> is_string();
>
> IOW, is_whatever();
>
> Cheers,
>
> tedd
>
As PHP is loosely typed, the only real way around this is to specify a
return type in a PHPDoc block, then parse that using reflection to get
the @return parameter.
another option is to use something like haXe which is an ECMA style
typed language that compiles to multiple targets, one of which is PHP.
Regards!
Nathan