[PHP-BUG] Bug #65560 [NEW]: defined and constant does not resolve use aliases

2013-08-26 Thread codronm+circlecode at gmail dot com
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

2013-08-26 Thread codronm+circlecode at gmail dot com
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

2013-08-26 Thread codronm+circlecode at gmail dot com
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