[PHP-BUG] Bug #65560 [NEW]: defined and constant does not resolve use aliases
From: codronm+circlecode at gmail dot com Operating system: linux PHP version: 5.5.3 Package: Scripting Engine problem Bug Type: Bug Bug description:defined and constant does not resolve use aliases Description: while var_dump resolves correctly aliases defines by the use keyword, defined and constant functions does not resolve it. Test script: --- ?php namespace Foo; class Bar { const baz = 'baz'; } function test($const){ if(defined($const)){ echo $const value is . constant($const) . \n; } else { echo $const is not defined . \n; } } use \Foo\Bar as Bar; var_dump(\Foo\Bar::baz); test(\Foo\Bar::baz); var_dump(Bar::baz); test(Bar::baz); Expected result: string(3) baz \Foo\Bar::baz value is baz string(3) baz Bar::baz is not defined Actual result: -- string(3) baz \Foo\Bar::baz value is baz string(3) baz Bar::baz value is baz -- Edit bug report at https://bugs.php.net/bug.php?id=65560edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=65560r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=65560r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=65560r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=65560r=fixed Fixed in release: https://bugs.php.net/fix.php?id=65560r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=65560r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=65560r=needscript Try newer version: https://bugs.php.net/fix.php?id=65560r=oldversion Not developer issue:https://bugs.php.net/fix.php?id=65560r=support Expected behavior: https://bugs.php.net/fix.php?id=65560r=notwrong Not enough info: https://bugs.php.net/fix.php?id=65560r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=65560r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=65560r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=65560r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=65560r=dst IIS Stability: https://bugs.php.net/fix.php?id=65560r=isapi Install GNU Sed:https://bugs.php.net/fix.php?id=65560r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=65560r=float No Zend Extensions: https://bugs.php.net/fix.php?id=65560r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=65560r=mysqlcfg
Bug #65560 [Opn]: defined and constant does not resolve use aliases
Edit report at https://bugs.php.net/bug.php?id=65560edit=1 ID: 65560 User updated by:codronm+circlecode at gmail dot com Reported by:codronm+circlecode at gmail dot com Summary:defined and constant does not resolve use aliases Status: Open Type: Bug Package:Scripting Engine problem Operating System: linux PHP Version:5.5.3 Block user comment: N Private report: N New Comment: Sorry, I have inverted Expected result and actual result⦠I don't know how to edit this Previous Comments: [2013-08-26 13:56:49] codronm+circlecode at gmail dot com Description: while var_dump resolves correctly aliases defines by the use keyword, defined and constant functions does not resolve it. Test script: --- ?php namespace Foo; class Bar { const baz = 'baz'; } function test($const){ if(defined($const)){ echo $const value is . constant($const) . \n; } else { echo $const is not defined . \n; } } use \Foo\Bar as Bar; var_dump(\Foo\Bar::baz); test(\Foo\Bar::baz); var_dump(Bar::baz); test(Bar::baz); Expected result: string(3) baz \Foo\Bar::baz value is baz string(3) baz Bar::baz is not defined Actual result: -- string(3) baz \Foo\Bar::baz value is baz string(3) baz Bar::baz value is baz -- Edit this bug report at https://bugs.php.net/bug.php?id=65560edit=1
Bug #65560 [Nab]: defined and constant does not resolve use aliases
Edit report at https://bugs.php.net/bug.php?id=65560edit=1 ID: 65560 User updated by:codronm+circlecode at gmail dot com Reported by:codronm+circlecode at gmail dot com Summary:defined and constant does not resolve use aliases Status: Not a bug Type: Bug Package:Scripting Engine problem Operating System: linux PHP Version:5.5.3 Block user comment: N Private report: N New Comment: So thanks for the point, and sorry for the noise. Previous Comments: [2013-08-26 14:09:14] ni...@php.net Names in strings always need to be fully qualified. Aliases do not apply to them. (And they can't, because aliases are local to the file, but the string with the name can be used completely elsewhere.) [2013-08-26 14:09:11] codronm+circlecode at gmail dot com Sorry, I have inverted Expected result and actual result⦠I don't know how to edit this [2013-08-26 13:56:49] codronm+circlecode at gmail dot com Description: while var_dump resolves correctly aliases defines by the use keyword, defined and constant functions does not resolve it. Test script: --- ?php namespace Foo; class Bar { const baz = 'baz'; } function test($const){ if(defined($const)){ echo $const value is . constant($const) . \n; } else { echo $const is not defined . \n; } } use \Foo\Bar as Bar; var_dump(\Foo\Bar::baz); test(\Foo\Bar::baz); var_dump(Bar::baz); test(Bar::baz); Expected result: string(3) baz \Foo\Bar::baz value is baz string(3) baz Bar::baz is not defined Actual result: -- string(3) baz \Foo\Bar::baz value is baz string(3) baz Bar::baz value is baz -- Edit this bug report at https://bugs.php.net/bug.php?id=65560edit=1