Hello, On 1/15/07, Sara Golemon <[EMAIL PROTECTED]> wrote:
> As I told you, there was already a consensus on this solution, check > my initial proposal (solution #2): > > http://news.php.net/php.internals/26965 > No, that's a consensus on compile-time versus runtime. What I offered in my post was four variants of how runtime could be implemented.
The consensus was on #2 (which is your #1).
>> In response to the suggestion to just turn $_REQUEST (et.al.) into >> objects with overloaded array access, the big danger there is that the >> following behavior would change: > > It will bring a BC break as well or is_array($arrayaccessobject) will > have to return true and we have to be sure about its implementation > (like properties access not always working well). > Right, we all agree that approach won't work. >> Personally, I like Option 4, but then I like complexity. I can >> certainly see going for any of the others, but I want to go with >> something that the rest of the group can see being appropriately useful. > > I like my initial proposal. All it needs is an extra function and to > move the JIT management to runtime. The complexity is the same as what > we have now. > What if I want to inspect one particular element for encoding hints? /* Initially set encoding to ascii just for parsing 'ei' */ http_input_encoding('ascii'); if (!empty($_REQUEST['ei'])) { /* Request identified itself */ if (!http_input_encoding($_REQUEST['ei'])) {
it is typo right? like using a function http_input_encoding_detect_from(...)?
handle_bad_input_encoding(); } } else { /* Fallback on best-guess */ http_input_encoding_detect('UTF-8,ISO-8859-1'); } /* Work with the rest of $_REQUEST using the identified encoding */
Sorry but that's horrible :) That's way too complex to handle the input enconding. PHP Unicode functions can include some magic function to detect the encoding of a given string but I hardly see it as a specific http function. The two functions needed can be: http_input_encoding: set the input encoding (UTF-8, ASCII, etc.) http_input_encoding_error: get the error (invalid sequence, badly formed,etc.) If we like to go with #4, I rather prefer a more drastic change and go with something like perl/python CGI objects. And it is a piece of cake to implement in ext/filter. #4 makes possible as well to implement #1 to minimize the impact on the existing applications (relying on GPC). --Pierre -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php