People keep complaining that I do not contribute any proposals to improve PHP, which to some extent s correct. Except the one thing that I keep trying to get a handle on is tidying validating of the basic variables that are the heart of PHP.
validate_var_array() is a case in point, since ALL it should do is handle an array of simple variables for which we can define REAL validation rules rather than just a very restricted 'type' rule. Massaging the way the content of a variable is presented is another part of the basic functions of handling a variable, and simply providing an escape option which can be set as part of the variable rules set eliminates the need for 'New operator (short tag) for context-dependent escaping' and similar tangential matters. If we have a set of rules wrapping a variable then everything else just follows on, and the SQL domain model allows a group of variables to take an identical se of rules. These are the sorts of things any decent user world library can and does provide, but if the clock was rolled back prior to all the trouble created by 'strict typing' and we started again with a more well defined simple variable I'm sure that much of the conflict could have been resolved by allowing full validation checks to control an error or exception depending on the 'style' of PHP a programmer prefers. If a function is going to return a variable and that variable has under the hood a set of validation rules, then one can return an error if the result is faulty. Or even allow a NULL return if a valid answer is not available ... if that is the style of programming one prefers. Exceptions handle unmanaged errors, while proper program flow handles managed ones! Wrap these intelligent variables inside a class and one can create more powerful objects but ones which still use all the basic functionality. Similarly an array of them can be asked to provide a simple 'yes/no' if all of the variables pass their validation check, or an array of elements which need processing. -- Lester Caine - G8HFL ----------------------------- Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk Rainbow Digital Media - http://rainbowdigitalmedia.co.uk -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php