I'm no OOP programmer but maybe extend your class to
include methods for each situation.
something like this:
function countSingle($cid)
function countMulti($cidArray)
function countAll()
HTH,
olinux
--- Victor [EMAIL PROTECTED] wrote:
Hello. I have this question. When I program, I try
to create a class for
each table. Example below.
Now what some complain about, and logically so, is
that this might
impose an overhead (I load all data even if I just
need a counter and
NOT description).
So I say we can make a STATIC version of each
Accessor with $cid as
argument; But then they say what if i want to load
an array of all 2000
counters, for example. I say first get all the
$cid's, then in an array,
load a class for each one, etc.. That however makes
lots of SQL calls
instead of one big one. I suppose I can get all data
and then load it
into classes, but that seems like a bad approach,
especially for
calculated values.
What I am curious about is what paradigms do you
guys use to address
these issues? Is my paradigm good and it's worth to
just provide static
methods for frequently necessary fields to reduce
overhead, or is there
a better way of dealing with this stuff?
class Counter
{
var $db;
var $cid;
var $counter;
var $descr;
/**
* Default Constructor
* @param int $cid - Counter ID
*/
function Counter($cid=false)
{
global $db;
$this-db = $db;
if (isset($cid) $cid) $this-load($cid);
}
/**
* Description
* @param int $cid - Counter ID
* @return bool
*/
function load($cid=0)
{
if (!$cid) return false;
$q = SELECT * FROM counter WHERE cid =
$cid;
$r = $this-db-getRow($q); // Using PEAR
here.
if (!DB::isError($r)) {
$this-cid = $r[cid];
$this-counter = $r[counter];
$this-descr = $r[descr];
return true;
}
return false;
}
#
# Accessor Methods
#
function getCid() { return $this-cid; }
function getCounter() { return $this-counter; }
function getDescr() { return $this-descr; }
#
# Mutator Methods
#
function setCid($v) { $this-iaid= $v; }
function setCounter($v) { $this-counter = $v; }
function setDescr($v) { $this-descr = $v; }
// Many other methods, etc Static methods,
etc...
}
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
__
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php