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

Reply via email to