On Tue, 2 Oct 2001, Zak Greant wrote: > Bug report 13505 got me thinking about the behavior of define() - if > you try to define a constant name that is a reserved word, or an > existing function or class name, no warning is generated. > > This could have been a conscious decision - a case where it was > decided that some safety could be traded for a bit of extra speed. If > it wasn't, then here is a patch to check that the constant name does > not clash with a reserved work, function name or class name. > > I used an array of reserved words and a for loop to handle finding > conflicting reserved words. Is there a better way to do this. AFAICT > the other methods for handling reserved word conflicts are handled at > the parser level. i.e. Trying to define 'function and (){}' generates a > parser error. > > Anyhoo, perhaps someone could take a look at the patch? :)
The idea looks ok, but the looping through the reserved words array would be very slow. However, keeping the first two checks in place it would be good IMO. Derick --------------------------------------------------------------------- PHP: Scripting the Web - www.php.net - [EMAIL PROTECTED] SRM: Site Resource Manager - www.vl-srm.net --------------------------------------------------------------------- -- 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]