X-Original-To: pgsql-advocacy-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 0A9A73A2B90 for ; Tue, 2 Nov 2004 11:17:36 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 04889-10 for ; Tue, 2 Nov 2004 11:17:28 +0000 (GMT) Received: from hosting.commandprompt.com (128.commandprompt.com [207.173.200.128]) by svr1.postgresql.org (Postfix) with ESMTP id AE8393A1D88 for ; Tue, 2 Nov 2004 11:17:30 +0000 (GMT) Received: from [192.168.1.20] (clbb-248.saw.net [64.146.135.248]) (authenticated) by hosting.commandprompt.com (8.11.6/8.11.6) with ESMTP id iA2BHGm14809; Tue, 2 Nov 2004 03:17:17 -0800 Message-ID: <41876C81.2040007@commandprompt.com> Date: Tue, 02 Nov 2004 03:16:17 -0800 From: "Joshua D. Drake" User-Agent: Mozilla Thunderbird 0.8 (Windows/20040913) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Alexey Borzov Cc: Josh Berkus , pgsql-advocacy@postgresql.org Subject: Re: [pgsql-www] PostgreSQL.org Design Proposal References: <200410291003.40276.josh@agliodbs.com> <41827D2A.3030505@commandprompt.com> <41875C47.5010504@cs.msu.su> In-Reply-To: <41875C47.5010504@cs.msu.su> Content-Type: multipart/mixed; boundary="------------010704010801010903040009" X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.2 tagged_above=0.0 required=5.0 tests=HTML_MESSAGE, HTML_TAG_BALANCE_TABLE X-Spam-Level: X-Archive-Number: 200411/15 X-Sequence-Number: 5664 This is a multi-part message in MIME format. --------------010704010801010903040009 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit > > >> >> >> BTW I don't know if anyone noticed but FrameWerk was a prizewinner with >> the PHP 5 coding contest.. so go Gavin. > > > Yes, it has achieved a whopping 18th place (out of 50). I am sorry, did you have an entry in the contest that placed? > > I've downloaded Framewerk and gave it a quick review. There are some > Bad Code Smells that will make it hard to manage in the long run: > > 1) HTML generated as PHP strings; > It is not necessary to use some "template engine" but code > generating data structures for output should be separate from code > outputting this data which can be e.g. HTML file with minimal PHP. > Changing the design done in the following way is *extremely* difficult: > > $ret .= "\n
method='$this->method'>\n"; > $ret .= "
border='0'>\n"; > foreach($this->fields as $field) > { > $ret .= " \n"; > $ret .= "
> 2) Usage of homegrown i18n solution rather than some established ones > Isn't it obvious from the first glance what this string does? > {!i18n:visitors:{@visitors}} Well there may actually be a good reason for this. > > 3) Abstraction of DB API rather than usage of proper data access layer > This is BTW the reason for poor PostgreSQL support in most PHP > applications: their authors use such "abstraction layers", but design > schema for MySQL and then just do minimal "translation" of queries > they do. Upper levels should know nothing about SQL and just call > lower level to fetch some data. Well I am sure Gavin isn't suffering from the translation of queries issue but there is a lot of good reasons to abstract the DB API. > > 4) Lack of consistent coding standards. > One can say many bad things about PEAR, but its code is at least > readable and one always knows where to find things. The product isn't even 1.0 yet and very few people are using it. If you are unhappy with it, why not donate some resources and help make it a better product? Sincerely, Joshua D. Drake > > ---------------------------(end of broadcast)--------------------------- > TIP 9: the planner will ignore your desire to choose an index scan if > your > joining column's datatypes do not match -- Command Prompt, Inc., home of Mammoth PostgreSQL - S/ODBC and S/JDBC Postgresql support, programming shared hosting and dedicated hosting. +1-503-667-4564 - jd@commandprompt.com - http://www.commandprompt.com PostgreSQL Replicator -- production quality replication for PostgreSQL --------------010704010801010903040009 Content-Type: text/x-vcard; charset=utf-8; name="jd.vcf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="jd.vcf" begin:vcard fn:Joshua Drake n:Drake;Joshua org:Command Prompt, Inc. adr:;;PO Box 215 ;Cascade Locks;OR;97014;US email;internet:jd@commandprompt.com title:Consultant tel;work:503-667-4564 tel;fax:503-210-0334 x-mozilla-html:FALSE url:http://www.commandprompt.com version:2.1 end:vcard --------------010704010801010903040009--