Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:28456 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 33839 invoked by uid 1010); 19 Mar 2007 21:43:39 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 33824 invoked from network); 19 Mar 2007 21:43:39 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Mar 2007 21:43:39 -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 64.233.182.189 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: 64.233.182.189 nf-out-0910.google.com Linux 2.4/2.6 Received: from [64.233.182.189] ([64.233.182.189:11402] helo=nf-out-0910.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 30/F4-01604-8040FF54 for ; Mon, 19 Mar 2007 16:43:38 -0500 Received: by nf-out-0910.google.com with SMTP id l35so62462nfa for ; Mon, 19 Mar 2007 14:43:34 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:subject:from:to:cc:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=VL9V62H818skdgWgaOUfdkDcxYxLYNB5F8zfET38nDC/A4E0s02WPWiwE7negwCA1QJadXznxgxYZxTFFT6nvOPkIM6olNML/ko4TBOX6EMPZylotrVxJw0ld0OW1XPNC6f87eruYUJ8HZUZrQsemUsO2pFTlNmPivezd4svlrw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:subject:from:to:cc:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=HYtclyAt/EIL0gaWUq96/gfTk1CiFq1rJ7lcxgWNLBSXMSjJ9Ix/VHhgYugVCjqp25HsLSsynUhTYwjrOrM8kq2lkztJwoqMa01ou/2861zSEz+vMtx+vvSjEQXlHWaESA1Yww3r4DdooiGsd6Tow8PR2yYcNlopliQtiCtSJJY= Received: by 10.82.138.6 with SMTP id l6mr10995008bud.1174340613979; Mon, 19 Mar 2007 14:43:33 -0700 (PDT) Received: from ?192.168.128.205? ( [62.112.219.44]) by mx.google.com with ESMTP id g1sm19751032muf.2007.03.19.14.43.32; Mon, 19 Mar 2007 14:43:32 -0700 (PDT) To: Guilherme Blanco Cc: Stanislav Malyshev , internals@lists.php.net, Lukas Kahwe Smith In-Reply-To: References: <1174134488.8667.33.camel@lena> <45FC74A5.6080307@pooteeweet.org> <1174231834.12274.110.camel@lena> <45FEBD70.2090000@zend.com> Content-Type: text/plain; charset=utf-8 Date: Mon, 19 Mar 2007 22:43:30 +0100 Message-ID: <1174340610.14657.67.camel@lena> Mime-Version: 1.0 X-Mailer: Evolution 2.8.1 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] google SoC - dbobj From: thefirstofall@gmail.com (=?ISO-8859-1?Q?Bank=F3_=C1d=E1m?=) Hello! This paper seems to be interesting, but I don't have the time to read it now. If only there were such nice documentations when I started this! On the performace point, I can't say anything well-grounded since I have no benchmark results. I'll do some when I have a little more time, then we'll see. The other thing you mentioned ... the bundled ORM tool. I think it would be good to have a "standard sollution" over the current diversity. An analogy came to my mind ... session handling and object persistence. Of course session handling is a much simpler task, I think they share some common points. Like both can be implemented in a number of ways. For session handling now there's a standard implementation that works good for allmost all cases. I don't say, that a similar thing can be achieved for ORM, nor do I say that there should be one ORM implementation that everyone must use. However I think that currently the ORM palette is too diverged (like if everyone would use their own session implementation). There would be good, if there were some "standard" thing, that fit's most people's needs. The bad thing is AFAIK that ORM is interpreted in many ways by PHP developers, so there can't be a one-fits-all solution. For example there are the structured programmer, who don't want to here about objects and classes, but want a nicer interface to access their data in their database. Taking these people into account when building an ORM is very important if we want to keep PHP an easy to learn language. Than there are the people who do everything object oriented, want some of their objects to be persistent, and (for some reason) want them to be stored in a relational database. And there a lot of people in between, who would use an ORM solution mixed with a lot of SQL. I only mentioned three use cases, but in reality, I'm sure that the image is much more complex. However I believe that a "common divisor" could be found, something common in all these cases, that can be made into some form of standard. This shouldn't have many features, but should be extensible. I think if the different more developer-friendly solutions were built on "common divisor", it would result in better high level features, a nicer learning curve (don't have to start from 0 when you need to learn a new ORM implementation) and so on and so on. What I'm really talking about, in the OO aspect, is a base class that provides only some very basic (but very important) ORM features. It should be small, quick and extensible. It should also have a really good, intuitive interface. What you think? 2007. 03. 19, hétfő keltezéssel 16.44-kor Guilherme Blanco ezt írta: > Hi, > > This is an interesting project! > I am currently implementing an ORM tool based on this white paper from > Mr. Scott W. Ambler (from IBM): > http://www.ambysoft.com/essays/persistenceLayer.html > > I think that a compiled C ORM tool doesn't have too much advantage > over a PHP code based. The performance impact can be so slow that can > disapoint you. But... a bundled ORM tool for PHP would be really > interesting! > > > If you are really interested, I can share my current implementation > and create a Google Code Project. > > > AFAIK, the best ORM tool for PHP is Doctrine: http://www.phpdoctrine.net/trac > > I am currently on a travel and you'll probably notice a delay in my messages. > > > Best regards,