|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2009-06-23 16:40 UTC] johannes@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 14:00:01 2025 UTC |
Description: ------------ The original class is checked, but the checks a too lax on the alias itself. I suggest the alias's name should follow the same rules as the class itself. Admittedly, the following may work in conjunction with the problem reported : <?php class foo { } var_dump(class_alias('foo', '$$$')); $b = "$$$"; $a = new $b; var_dump($a); ?> Reproduce code: --------------- <?php class foo { } var_dump(class_alias('foo', '999')); var_dump(class_alias('foo', '')); var_dump(class_alias('foo', true)); var_dump(class_alias('foo', false)); var_dump(class_alias('foo', null)); var_dump(class_alias('foo', '$$$')); var_dump(class_alias('foo', ';;')); var_dump(class_alias('foo', '"')); var_dump(class_alias('foo', '::')); ?> Expected result: ---------------- bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) bool(false) Actual result: -------------- bool(true) bool(true) bool(true) PHP Warning: Cannot redeclare class in /Users/alterway/bin/php- 5.3.0RC4/Zend/tests/- on line 8 Warning: Cannot redeclare class in /Users/alterway/bin/php- 5.3.0RC4/Zend/tests/- on line 8 bool(false) PHP Warning: Cannot redeclare class in /Users/alterway/bin/php- 5.3.0RC4/Zend/tests/- on line 9 Warning: Cannot redeclare class in /Users/alterway/bin/php- 5.3.0RC4/Zend/tests/- on line 9 bool(false) bool(true) bool(true) bool(true) bool(true)