Zeev Suraski wrote:
> At 17:37 24/08/2005, Rasmus Lerdorf wrote:
> 
>> Steph wrote:
>> > Hi Rasmus,
>> >
>> >
>> >>Steph wrote:
>> >>
>> >>>If there's the capability to run PHP 6 without Unicode support, surely
>> >>>there's no reason for extensions to lose back compatability when
>> they're
>> >>>updated...?
>> >>
>> >>That's going to be tough.  They will definitely lose binary
>> >>compatibility because all sorts of internal structures are changing
>> >>which a runtime switch can't do anything about.  We may be able to keep
>> >>compatibility at the source level, but having extensions that fall over
>> >>when you turn on unicode semantics would be a real pain.  It might be a
>> >>feature to break them and have a nice FAQ on what needs to be done to
>> >>upgrade the extension to support Unicode.
>> >
>> >
>> > Ouf - you're effectively saying that Unicode support will need to be
>> enabled
>> > via INI directives on a per-extension basis?  Or that there will
>> need to be
>> > two versions of every PHP extension?
>>
>> Not at all.  But it would be nice if the extension did something
>> intelligent when passed an IS_UNICODE string.  IS_UNICODE strings don't
>> just exist when unicode semantics are turned on either.  So it actually
>> doesn't matter if that switch is on or not, extensions should handle
>> Unicode strings.
> 
> Maybe we can give extensions a way to indicate that they're Unicode
> compatible, and assume they're not if they don't.  Non-compatible
> extensions will not be loaded and produce an error.

Doesn't this go against what you just said about breaking things on
purpose?  I don't think we need anything beyond the API versioning here.

We should be able to deal with extensions that correctly use
zend_parse_parameters for their argument handling.  But for extensions
that don't, I think there is no way to maintain source compatibility and
I think it may be an idea to stop these from even building.

-Rasmus

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

Reply via email to