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

Reply via email to