Re: Technical refresh

From: Date: Sat, 11 Aug 2001 01:25:49 +0000
Subject: Re: Technical refresh
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-62902@lists.php.net to get a copy of this message
At 04:11 11-08-01, Rasmus Lerdorf wrote:
http://conf.php.net/pres/index.php?p=slides%2Fintro&id=sf1 http://conf.php.net/pres/slides/intro/php4_arch.gif I see your point, but I also think that we should be striving to abstract this better. I know you say there is no sign of any alternative engine in the future, but be realistic, is there any sign of embedding Zend in something else? And if that were to happen, what are the chances that the API you would need to expose to that something would be identical to the API exposed to PHP?
Yeah. I sound like Monty (which is not all that of a bad thing), but I do think that the MySQL integration will happen within the next 12 months.
A very well-defined and documented PHP Extension API would encourage extension authors. And if we could simplify and generalize that API a bit more, we might even start to see some re-use of these extensions in other things. Someone could theoretically write a Perl, Python or Ruby wrapper API which allow them to build an extension originally written for PHP into those languages. Or perhaps some day we would end up with a truly general scripting extension SDK where any extension written for any scripting language would be compilable into any other. I realize these are rather far-reaching ideals here, but my basic point is that the current extension API is not well documented and it is too tied to Zend internals. Any small steps we can take at this point towards a general-purpose PHP extension API would be steps in the right direction as far as I am concerned.
I disagree with you on a technical level here. There is no good reason to add a layer of abstraction between the engine and the modules, beyond, perhaps, a set of macros that will give PHP module authors a warm fuzzy feeling that they're working on PHP stuff, and not evil Zend stuff. The visionary level you're talking about doesn't cut it anywhere but in presentations, in my humble opinion. Vision aside, what I did today was a much-more-down-to-earth, ideal-free, technical-derived patch, which spawned a huge political dispute, which was a big waste of time. As for the docs; I don't think that any of the low level APIs of PHP are well documented, but none of them comes close to the documentation of the engine. Is the SAPI interface well documented? I wrote it as well, and I didn't document it with anything but code. It's pure PHP licensed, and yet, nobody has stepped forward to document it. Same about of the other extensibility APIs in PHP, like the output buffering (again, my 'self documenting' code) or Sascha's session module. The sad reality is that many code authors don't like documenting their code, and not too many people are willing to go after them and document what they write. It has little to do with well-defined APIs or licenses, and much more to do with human nature. I think we're going in the right direction as we are now, for the simple reason we all seem to forget - it *works*. Can it be better? No doubt about it, and better and up-to-date Zend API documentation would have helped. Perhaps when we change the license of the engine a flock of people will start documenting every bit. We'll just have to wait and see. Zeev

« previous php.dev (#62902) next »