Re: Re: Newbie: Composition by Association - Pagination Class general question.

From: Date: Sun, 19 Jul 2009 22:09:23 +0000
Subject: Re: Re: Newbie: Composition by Association - Pagination Class general question.
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-295595@lists.php.net to get a copy of this message
On Sun, Jul 19, 2009 at 03:56:43PM +0100, Tony Marston wrote: > Two things strike me as wrong with your thinking: > > (1) The idea that you have a separate DAO for each entity instead of a > single generic DAO which can act for any entity in the system. > (2) The idea that pagination requires its own class, and therefore needs > this "is-a" and "has-a" nonsense. > > As for (1) even in my pre-OO days I was used to using a single generic DAO > for all database access. The only time that more than one DAO existed was > for a different DBMS engine. This is why I have one DAO class for MySQL, one > for PostgreSQL and another for Oracle. If you are incapable of writing a > single generic DAO then it just shows that you still have a lot to learn. > For an idea on how this works take a look at > http://www.tonymarston.net/php-mysql/databaseobjects.html This brings up a question. Most of the tutorials I've read on your site deal with classes tailored to specific tables. However, in much of my software, I have to deal with queries which access multiple tables. For example, my invoice table contains the customer number, but not their name. For that, I have to go to the customer table. Thus, my queries often access multiple tables with where clauses which ensure I get the proper data from secondary tables. I've never used "views" in SQL, but it appears that this is what would be called a "view". So in your constellation of software, would you create a subclass of genericTable which essentially is a "view"? Otherwise, how would you handle this? Paul -- Paul M. Foster

« previous php.general (#295595) next »