Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:28535 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42939 invoked by uid 1010); 21 Mar 2007 15:07:59 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 42924 invoked from network); 21 Mar 2007 15:07:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Mar 2007 15:07:59 -0000 Authentication-Results: pb1.pair.com header.from=thefirstofall@gmail.com; sender-id=pass; domainkeys=bad Authentication-Results: pb1.pair.com smtp.mail=thefirstofall@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 66.249.92.172 as permitted sender) DomainKey-Status: bad X-DomainKeys: Ecelerity dk_validate implementing draft-delany-domainkeys-base-01 X-PHP-List-Original-Sender: thefirstofall@gmail.com X-Host-Fingerprint: 66.249.92.172 ug-out-1314.google.com Linux 2.4/2.6 Received: from [66.249.92.172] ([66.249.92.172:7125] helo=ug-out-1314.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E3/1E-21072-C4A41064 for ; Wed, 21 Mar 2007 10:07:57 -0500 Received: by ug-out-1314.google.com with SMTP id o4so375671uge for ; Wed, 21 Mar 2007 08:07:54 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:subject:from:to:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=DkoehPKvu8T5oKBQ6/8FaYJNGvCRBD6ozTlcTUU7YvIfZxW6U8SA5PuU9kxeINDzpxObE0iBGvZrAx+siH6eqxHD5u6vbGTFgH9T25iIzgI7XWGR7Wx4RrQ5r8j9PPz567X/1+RGt/LZp6jC5x9qOvC+jTVJ7E+m2V6MFkry+HM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:subject:from:to:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=A1R5cnwnZbcoSYWBaP6rfH2SkQqPEsAgySbnfYYBPzJIKRpMCiATgiv0JaPatFJ+wcaqjKUm619y0FxW9GY+kbnSVGn5Y5aXTO007h4xursLFymHriZZ403SNtNoFv4TOWclwQDKWG/4iJuSNu9B8XVthh9hVpH7ThhQvztEdKU= Received: by 10.67.29.12 with SMTP id g12mr3233422ugj.1174489674203; Wed, 21 Mar 2007 08:07:54 -0700 (PDT) Received: from ?192.168.128.205? ( [62.68.181.19]) by mx.google.com with ESMTP id 53sm1967187ugn.2007.03.21.08.07.49; Wed, 21 Mar 2007 08:07:52 -0700 (PDT) To: internals@lists.php.net In-Reply-To: <1174134488.8667.33.camel@lena> References: <1174134488.8667.33.camel@lena> Content-Type: text/plain Date: Wed, 21 Mar 2007 16:07:43 +0100 Message-ID: <1174489663.14132.5.camel@lena> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 Content-Transfer-Encoding: 7bit Subject: Re: google SoC - dbobj From: thefirstofall@gmail.com (=?ISO-8859-1?Q?Bank=F3_=C1d=E1m?=) Hi! I've created a draft of what would be the Abstract of my application. Please review it, if I'm mistaken in something or left out an important point. This will be the public part of the application. There will be a more detailed description, but it will be visible only to mentors. BEGIN Creating a native object persistence module for PHP Object persistence is a form of Object-Relational Mapping, a technology that has recently became very important for complex web applications. For the PHP developer, ORM means a layer that abstracts the complexity of the relational database, and presents a nicer, object-oriented interface. So it simplifies data access. There are many different implementations, most are written in PHP. I'm proposing a native (compiled from c) extension that would only support some basic features, but can be extended (with PHP) to have complex, high-level features (like database schema auto-discovery). The overall goal is to have an extension bundled with PHP, that could be a common base for full ORM solutions. If the currently very diverse ORM implementations would have a common base, it would ease the learning of different implementations, and enable ORM developers to concentrate on high-level features. Using ORM solutions based on a native module would also mean a smaller overhead compared to pure-PHP implementations. The project (in it's current form) is about 70% ready, and during the summer my plan is to make it about 90% complete. The most important goals for the summer are: - Implementing a database driver module that uses PDO, so all PDO supported databases will be supported. - Implementing exception-based error handling. - Rewriting the outer interface to what the community finds the best. - Some testing, finding and eliminating bugs. So the extension will be mostly usable. However it won't be complete. It will still lack: - A good documentation, - a full code review to eliminate possible security holes, - support for safe_mode and for cases where non-controlled PHP code is used (for example web hosting). For the current status of the project and more information consult the project's wiki at http://dbobj.sourceforge.net/ . END Adam