Hello internals!

After reading the discussion for some time and thinking through what has
been written, I came to the conclusion that something like legacy namespace
witch is enabled by default is required. Why? Because some projects are big
and you usually migrate them in chunks. So that way you can start the
conversion the day the new major version is released without a need to
rewrite the whole thing in one go. The hosters will be able to update their
instalations without the fear that their clients will be unable to run
their old code.

There should be the roadmap defined, where the steps of removing the old
API are described and publicly avaliable from the front page of the
php.netfor everyone to see.
I would imagine it something like this:
PHP next.y.z is released. Legacy API is imported to global space by
default, can be turned off via a flag. Optionaly E_STRICT can be emited (or
a special E_* introduced for for the move). Tool like pythons 2to3 could be
introduced (and I think should be) - it's development should not be
restricted to internals only - a github project would be great, so that the
whole community could help. A major effort should be made to spread the
word.
PHP next.x+1 is released. All legacy stuff starts to emit "E_DEPRICATED".
PHP next.x+2 is released. Legacy API is not imported into global namespace
by default - the php.ini setting should be changed for that.
PHP next.x+3  _OR_ PHP next +1 is released. Legacy API is removed for good,
php.ini flag is removed - adapt or die.

Just my userland developers $0.02 :)

Thanks,
Arvids.

Reply via email to