Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:29824 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 8216 invoked by uid 1010); 27 May 2007 04:58:45 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 8201 invoked from network); 27 May 2007 04:58:45 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 May 2007 04:58:45 -0000 Authentication-Results: pb1.pair.com smtp.mail=gwynne@wanderingknights.org; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=gwynne@wanderingknights.org; sender-id=unknown Received-SPF: error (pb1.pair.com: domain wanderingknights.org from 208.97.132.81 cause and error) X-PHP-List-Original-Sender: gwynne@wanderingknights.org X-Host-Fingerprint: 208.97.132.81 sd-green-bigip-81.dreamhost.com Linux 2.4/2.6 Received: from [208.97.132.81] ([208.97.132.81:49174] helo=postalmail-a4.g.dreamhost.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 6F/02-19545-30019564 for ; Sun, 27 May 2007 00:58:43 -0400 Received: from [192.168.0.101] (c-66-31-108-85.hsd1.ma.comcast.net [66.31.108.85]) by postalmail-a4.g.dreamhost.com (Postfix) with ESMTP id 8D7C511E4DF for ; Sat, 26 May 2007 21:58:40 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: <4850AC0C-7268-4CE2-A192-771F459A2CB5@roshambo.org> References: <97180F0D-CB4C-4071-A859-38059C0DD1FF@wanderingknights.org> <0DFF3A59-3419-4A25-B907-E0E71FD41360@wanderingknights.org> <462FD093.90402@zend.com> <462FDB7B.8000907@zend.com> <8F6E78F4-9B53-43FA-8E7E-3460800F9AAD@wanderingknights.org> <4850AC0C-7268-4CE2-A192-771F459A2CB5@roshambo.org> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-ID: <8EEF96C5-7565-4D36-9894-788AD45A4C7D@wanderingknights.org> Content-Transfer-Encoding: 7bit Date: Sun, 27 May 2007 00:58:31 -0400 To: internals@lists.php.net X-Mailer: Apple Mail (2.752.3) Subject: Re: [PHP-DEV] Documenting the Zend2 extension API From: gwynne@wanderingknights.org (Gwynne Raskind) On May 8, 2007, at 2:59 PM, Philip Olson wrote: >> Hi all, just wanted to give you a heads-up that I'm still working >> on this project; it took me awhile to get the tools properly set >> up, but I'm plugging away at DocBook XML now, and I'll have a few >> patches to send in soon, I think. Thanks for all the advice so far! > Hello Gwynne, > > This is excellent news, and feel free to write the doc list if you > have any questions and/or the IRC channels on efnet (#php.pecl and > #php.doc). As far as information on the topic goes, let's start a > list of the current landscape (with ideas to steal from): > > - The official docs: http://php.net/manual/internals > - CodeGen_PECL: http://pear.php.net/package/codegen_pecl > - A few tutorials: http://devzone.zend.com/public/view/tag/extension > - The book: Extending and Embedding PHP by Sara Golemon > - Many README files in php-src: http://cvs.php.net/viewvc.cgi/php-src/ > - A few talks: http://talks.php.net/index.php/Internals > - A nice talk: http://netevil.org/talks/furlong-golemon-extending- > php.pdf > - More talks: http://talks.somabo.de/ > - A nice talk: http://talks.somabo.de/ > 200610_zend_conf_php_extension_development.pdf > - A few examples: http://people.apache.org/~nabeel/php/examples/ > > Also, let's create a FAQ section dedicated to the topic of > extension writing. This list of links has been extremely helpful to me, Philip; I appreciate it a lot :). I'm embarassed to say I came down with a bit of writer's block lately, so I don't have any patches to send in yet, unfortunately. However, I would like the opinion of the list on the avenue I've chosen. Basically, it's my estimation that the existing internals documentation in the manual is not organized very well, nor lends itself to updating with any manner of ease. The material I've been writing is a new section dedicated to the API of ZE2, rather than trying to consolidate all the information for ZE1 (outdated) and ZE3 (still changing almost every day). My preliminary outline for the content looks like this (yanked out of my diffs for manual.xml.in and subject to change): &Internals2; &internals2.intro; &internals2.buildsys.index; &internals2.structure.index; &internals2.memory.index; &internals2.variables.index; &internals2.functions.index; &internals2.objects.index; &internals2.resources.index; &internals2.ini.index; &internals2.streams.index; &internals2.apiref.index; &internals2.ze1.index; &internals2.ze3.index; My thinking is to document ZE2 completely, since the differences between 1 and 2 are small enough for the existing internals section to be of use to anyone writing for 1, and 3 can be more fully documented later (something I'm willing to take on as well). If I'm given a thumbs-down on this way of doing things, I'll take the material I've written already and use it to update the existing internals section, but I think this method has the best chance of giving people the truly comprehensive online reference we've lacked for extension writing up to this point. -- Gwynne, Daughter of the Code "This whole world is an asylum for the incurable."