Re: [PHP] PHP and #if
On Mar 14, 2008, at 3:15 PM, Eric Gorr wrote:
>
> On Mar 14, 2008, at 3:10 PM, Stut wrote:
>
>> On 14 Mar 2008, at 19:03, Eric Gorr wrote:
>>> Unfortunately, such things cannot be used to wrap functions.
>>
>> Erm, yes they can. Try it.
>>
>> <?php
>> if (rand(0,1) == 0)
>> {
>> function arse()
>> {
>> echo "arse 1\n";
>> }
>> }
>> else
>> {
>> function arse()
>> {
>> echo "arse 2\n";
>> }
>> }
>>
>> arse();
>> ?>
>>
>
> Gives:
>
> Parse error: syntax error, unexpected T_STRING in /Users/Eric/Sites/
> ifWrapping.php on line 3
Oh, sorry, apparently there are some invisible characters in the text
you pasted which I had to zap first. Yes, this does work as expected.
However, try wrapping the arse function in a class.
<?php
class TestClass
{
if ( rand(0,1) == 0 )
{
function arse()
{
echo "arse 1\n";
}
}
else
{
function arse()
{
echo "arse 2\n";
}
}
}
$myVar = new TestClass;
$myVar->arse();
?>
That fails with:
Parse error: syntax error, unexpected T_IF, expecting T_FUNCTION in /
Users/Eric/Sites/ifWrapping.php on line 4
|