Why do you want that?
"Bad" conversion is failed conversion, that's the case when you get E_RECOVERABLE_ERROR and it bails out.

Yes, I want that function to return FAILURE when we issue E_RECOVERABLE_ERROR. Exactly what I was talking about.


One such place is zend_parse_parameters(). If you say zpp(..., "s", &str, &str_len) and the user passes an object without __toString() method, zpp() should issue an error saying that it expected a string and got an object instead, even if we "forced" the conversion result to be a string in convert_to_string().

An error? You mean this one:
zend_error(E_NOTICE, "Object of class %v to string conversion", Z_OBJCE_P(op)->name);
?
We already have it, no need for a new error.

I want zend_parse_parameters() to issue a warning, saying "foo() expects parameter 1 to be string, object given". I do not consider "Object" to be a valid conversion for this purpose.

It's perfectly legal to do it in 5.2 and I don't see why PHP6 is different. IMO it's same as changing the E_RECOVERABLE to E_ERROR - users won't have any way to "workaround" it, even though this was the original intention of E_RECOVERABLE.

It is not the same. E_ERROR stops execution. Returning FAILURE from convert_to_string() is simply a flag that lets calling code know what happened.

-Andrei

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to