Hi all,

Following on from the recent debug_backtrace discussion, and the discussion
about just what we are releasing next and so on, I'd just thought I would
make a couple of comments about PHP 4.3 and about what I think (IMHO)
should be the goals of PHP 5.

I'm currently reviewing the streams code, to make sure that the API is
good enough for a release: there are a couple of things that I want to
tidy up ready for PHP 4.3:

o Add a "set-blocking-flag" method to the generic stream operations,
  So that non-blocking IO can be enabled on any stream that it makes
  sense to do so. (IIRC, there is a bug in the DB, or this deficiency
  was mentioned on the list).

o Tidy up persistent streams support. (I need some help from someone that
  really knows what they are doing here).  This is important, because
  I'm not sure that persistent sockets (pfsockopen) are actually working
  in HEAD ATM.

o Implement a filter API, so that filters can be stacked over a stream.
  I've mentioned this before; it will be useful to stack things like
  base64, charset conversion, zlib/bzip compression and crypto over a
  stream - potentially multiple filters.  I don't think that this will
  take too long to implement (perhaps by the weekend).

o Implement stat() and readdir() for ftp.  I think http will be "too hard"
  to achieve in time for 4.3.

PHP 5
-----

Zeev raised the issue of figuring out what we want to be in PHP 5.
Well, I can't think of (m)any fancy new features for PHP 5 that we haven't
already got in HEAD, but to get the ball rolling, this is my take on
how PHP 5 could/should look:

Current HEAD, stabilized.  This includes things like the new build
system, streams, enhancements to post/file uploading, domxml and so on.
ZE2, feature complete.  (New OO, better rpc/com/java, try/catch, delegation,
etc. etc.)

To me, that sounds really pretty good.  Yes, it's just HEAD with ZE2,
but I think it's almost what will be PHP 5.  A couple of additions that
would make it more attractive:

o PEAR/PECL CA fully established.  I know that we are aiming to get this
off the ground for PHP 4.3, but I'm sure we can improve it for PHP 5.

o Bundle Brads php-soap extension, and "market" PHP 5 as being "Web Service
Enabled".

Beyond that, I can't seem to think of anything else: I know that I would
be very happy to start using all these new features in production ASAP,
and I think that it will take 4.3 and 4.3.1 to stabilize these features
and help us find/fix any problems before following up with PHP 5 in around
6 months time (perhaps slightly less?).

With that in mind, once we have released PHP 4.3, it would make sense
if we switched the CVS version to build with ZE2 by default, so that we
can help "test-in" the new engine more thoroughly, and perhaps get it
released that much sooner?

--Wez.

Reply via email to