On Fri, Apr 25, 2008 at 10:02 AM, Jason Pruim <[EMAIL PROTECTED]> wrote:

>
> On Apr 25, 2008, at 11:56 AM, Nathan Nobbe wrote:
>
>  On Fri, Apr 25, 2008 at 9:50 AM, Leurent Francois <[EMAIL PROTECTED]>
>> wrote:
>>
>>  Is there any hope that
>>> echo "Welcome {session::$user_info['user_name']}";
>>>
>>> will work someday, if not, is there a simple reason i'm missing ?
>>>
>>
>>
>> actually, if you see my post from the other day, this is something that
>> *was* supported in php-5.2.4.  i dont know why its not working in 5.2.5;
>> ive
>> also checked 5.2.6_rc3 and its not working there either.  i have written
>> some phpt tests and run them on a 5.2.4 install and a 5.2.6_rc3 install;
>> you
>> can find the details on a post to the php-qa list from a couple of days
>> back
>> (that i posted after a lack of interest from the php-general list :O)
>>
>> http://marc.info/?l=php-qa&m=120901795414161&w=2
>>
>
> is there a reason why that would work better then: echo "Welcome
> {$_SESSION['user_info']['user_name']}";?
>
> Just curious :)


i think the question is more along the lines of why cant static references
be embedded within double quoted strings like class instances (and
indirectly the issue i mentioned earlier this week, which affords a
workaround), as in

<?php
class Session { function blah() {} }
$s = new Session();
echo "Hi {$s->blah()} \n";
?>

whereas this doesnt work
<?php
class Session { static function blah() {} }
echo "Hi {Session::blah()} \n";
?>

the funny thing is, in php-5.2.4, you can get away w/ this
<?php
class Session { static function blah() {} }
$s = 'Session';
echo "Hi {$s::blah()} \n";
?>

-nathan

Reply via email to