I wouldn't like E_NOTICE. I agree that the result should be a NULL value if a conversion fails, but E_NOTICE shouldn't be mixed in the area of user data. All error reporting should be limited to code, not input. I don't want the users of my software to be able to trigger E_NOTICE (or any error for that matter). I write code that ensures that no error/warning/notice will ever be triggered no matter what a user does.
I don't see a point in a hint called "mixed" either. You might as well not use a hint for that particular function parameter. Just my 2 cents. Regards, Ron Korving ""Richard Quadling"" <[EMAIL PROTECTED]> schreef in bericht news:[EMAIL PROTECTED] > Not in direct reply to any message. > > Type hinting is on for classes and arrays (maybe resources too - not > sure - but certainly a good idea if not). Why? From my perspective, it > allows me to not deal with potential errors either in the data or my > coding or another developers coding. > > Type hinting is part of the documentation. Sure, hungarian notation of > variable names (where the type is represented within the variable name > itself) is a good start, but when you get to things like a 4d array of > string and integer pairs, you get more notation than variable name. > > Extending type hinting to scalars is the next step. The loose typing > of PHP is great, but as mentioned by Richard Lynch, we have to more or > less move away from it for user input and DB input. > > Even when we store data in the session it is stored in type, so, > pretty much after getting the source data to operate on, the type is > fixed. > > You don't store a number in the session and get it back as a string to > convert back to a number in the next session usage. You store a > number, you get a number back. > > So, where is the use for loose type? You can't loose type objects or > arrays or resource. You no longer need to loose type user input or DB > input (cause you are now using SOME sort of input filtering > mechanism). > > > An issue is very much where you have mixed types (which many of the > PHP functions support). How do you hint this? You could either used > mixed or blank, but maybe you can supply multiple types which the > function will support. > > Maybe for V6 type hinting for scalars could be available, but output > purely E_NOTICE. Really make them just a hint. A suggestion. This will > allow auto documentors get to grips with things, allow code complete > editors deal with user defined functions, etc. > > Sometime after that the facility to make the hints become enforcers. > There would be a published list of conversion mechanisms (the > equivalent PHP function in effect). You could potentially allow user > defined conversions for user defined types though I would see this as > a WIBNI, rather than a MH. > > If you don't have any hints then nothing changes. If you do have > hints, then you would have to accept the hit in the additional > checking. If you have the enforcement, then you would have to deal > with the NULLs that would result in failed conversions (I would > recommend NULL rather than any other value for failed conversions). > > > > > -- > ----- > Richard Quadling > Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 > "Standing on the shoulders of some very clever giants!" -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php