Re: [PHP] How to get the 'return type' of a function?

[email protected] (Nathan Rixham)
Newsgroups php.general
Message-ID <[email protected]>
tedd wrote:
> At 3:17 PM +0100 2/23/10, Daniel Egeberg wrote:
>> 2010/2/23 Dasn <[email protected]>:
>>  > 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.