define not using toString on objects
| Bug #37811 | define not using toString on objects | ||||
|---|---|---|---|---|---|
| Submitted: | 2006-06-15 00:27 UTC | Modified: | 2006-07-09 22:45 UTC | ||
| From: | php at trancer dot nl | Assigned: | helly (profile) | ||
| Status: | Closed | Package: | Scripting Engine problem | ||
| PHP Version: | 5.1.* | OS: | * | ||
| Private report: | No | CVE-ID: | None | ||
[2006-06-15 00:27 UTC] php at trancer dot nl
Description: ------------ PHP is using toString on most places to cast objects to string. However define is not doing this. This seems somewhat of an oddity as objects are casted in other functions aswell. Possible fix to this problem was provided by bjori: http://php.is/bugs/toString/define.call.toString.patch.txt Reproduce code: --------------- <?php class foo { function __toString() { return "bar"; } } $foo = new foo(); define('COWBELL', $foo); ?> Expected result: ---------------- It being properly defined using the toString function. Actual result: -------------- Warning: Constants may only evaluate to scalar values in test.php on line 15
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-07-09 22:45 UTC] helly@php.net