Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:28532 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 98464 invoked by uid 1010); 21 Mar 2007 14:01:04 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 98449 invoked from network); 21 Mar 2007 14:01:04 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Mar 2007 14:01:04 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@hristov.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=php@hristov.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain hristov.com from 85.92.73.163 cause and error) X-PHP-List-Original-Sender: php@hristov.com X-Host-Fingerprint: 85.92.73.163 iko.gotobg.net Linux 2.6 Received: from [85.92.73.163] ([85.92.73.163:41739] helo=iko.gotobg.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id B6/38-21072-E9A31064 for ; Wed, 21 Mar 2007 09:01:03 -0500 Received: from e180046213.adsl.alicedsl.de ([85.180.46.213] helo=[192.168.179.37]) by iko.gotobg.net with esmtpa (Exim 4.63) (envelope-from ) id 1HU1N2-0005Ut-5Q; Wed, 21 Mar 2007 16:00:56 +0200 Message-ID: <46013AA6.9010602@hristov.com> Date: Wed, 21 Mar 2007 15:01:10 +0100 User-Agent: Thunderbird 1.5.0.8 (X11/20060911) MIME-Version: 1.0 To: =?UTF-8?B?QmFua8OzIMOBZMOhbQ==?= CC: PHP Internals List References: <1174134488.8667.33.camel@lena> <45FC74A5.6080307@pooteeweet.org> <1174231834.12274.110.camel@lena> <45FEBD70.2090000@zend.com> <1174330743.9134.2.camel@lena> <41721.216.230.84.67.1174341117.squirrel@www.l-i-e.com> <1174342387.14657.86.camel@lena> <1174476282.5402.35.camel@lena> <460118F8.9050807@pooteeweet.org> <46012A5F.8060302@hristov.com> <1174484099.10290.12.camel@lena> In-Reply-To: <1174484099.10290.12.camel@lena> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - iko.gotobg.net X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - hristov.com X-Source: X-Source-Args: X-Source-Dir: Subject: Re: [PHP-DEV] google SoC - dbobj From: php@hristov.com (Andrey Hristov) Hi, Bankó Ádám wrote: >> Then make a mix of PHP and C code. C call call PHP userland, so it >> shouldn't be a problem. > > I don't want to write a full ORM, only a common base, that others can > extend .. for example with INI/XML file configuration, schema auto > discovery etc. > >> And as I see it, it is always good to have a reference implementation >> in PHP and port it to C. I think Marcus did it while implementing SPL. > > If I'd be doing it Top-down, that clearly would be a good idea. But I'm > doing it with a iterative, XP like method. you can do the same with XP too. As in PHP so in C you will have to establish a common ground on which the further development will stand on. Then part by part implement in PHP and port to C. Having tests will help a lot. > First I do simple implementations for parts, and then I extend it to > support more features. For example on the first run, the system was > monolithic, now it has database drivers, database types and high-level > types implemented as sub-modules (mostly as polymorphic classes). > > This is not the most effective approach, but it produces working code > early. > > Adam > > Andrey