ID: 13505 Updated by: zak Reported By: [EMAIL PROTECTED] Status: Closed Bug Type: Unknown/Other Function Operating System: All PHP Version: 4.0.6 Assigned To: zak New Comment:
The performance loss of adding reserved word checking to define() was deemed greater than the benefit. It looks like the behavior of define() will stay just the way it is. Previous Comments: ------------------------------------------------------------------------ [2001-10-02 03:27:07] [EMAIL PROTECTED] Patch that checks for function/class name and reserved word conflicts sent to php-dev list. ------------------------------------------------------------------------ [2001-10-02 00:33:18] [EMAIL PROTECTED] New (in any combination of case - i.e. new, NEW, NeW, ...) is a reserved word. Its presence indicates that you wish to instantiate a new object from an existing class. i.e. class vegetable { var $name; function vegetable ($name) { $this->name = $name; } } $tomato = new vegetable ('tomato'); So this behavior is not out of line. However, define should probably throw an error when attempting to create a constant based on an reserved word. I will work up a patch shortly. ------------------------------------------------------------------------ [2001-10-02 00:05:58] [EMAIL PROTECTED] ########################################################### # POP UP MENU SUB ROUTINE (Condition) function display_column_g ($label, $row, $col_name, $editable) { print ("<TR>\n"); printf ("<TD><B><font color=\"red\">%s</font></B></TD>\n", htmlspecialchars ($label)); $value = htmlspecialchars ($row[$col_name]); if ($editable) # display as edit field { $str = sprintf ("<SELECT NAME=\"row[%s]\">",$col_name); $str .= sprintf ("<OPTION VALUE=\"$row[Condition]\">$row[Condition]\n", $row[Condition]); $str .= sprintf ("<OPTION VALUE=\"\">\n"); $str .= sprintf ("<OPTION VALUE=\"New With Warranty\">New With Warranty\n", New_With_Warranty); $str .= sprintf ("<OPTION VALUE=\"New\">New\n", New_); $str .= sprintf ("<OPTION VALUE=\"Unused With Warranty\">Unused With Warranty\n", Unused_With_Warranty); $str .= sprintf ("<OPTION VALUE=\"Unused\">Unused\n", Unused); $str .= sprintf ("<OPTION VALUE=\"Rebuilt With Warranty\">Rebuilt With Warranty\n", Rebuilt_With_Warranty); $str .= sprintf ("<OPTION VALUE=\"Rebuilt\">Rebuilt\n", Rebuilt); $str .= sprintf ("<OPTION VALUE=\"Used\">Used\n", Used); $str .= sprintf ("<OPTION VALUE=\"Running When Removed\">Running When Removed\n", Running_When_Removed); $str .= sprintf ("<OPTION VALUE=\"Scrap\">Scrap\n", Scrap); $str .= sprintf ("<OPTION VALUE=\"Salvage\">Salvage\n", Salvage); $str .= sprintf ("<OPTION VALUE=\"%s\"></SELECT>\n", $value); } else # display as read-only text $str = $value; printf ("<TD>%s</TD>\n", $str); print ("</TR>\n"); } ########################################################################### # END POP UP MENU SUBROUTINES ########################################################################### ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=13505&edit=1 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]