"Justin Patrin" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Bernie wrote: > > > Howdy, > > I am writing a program that has a handful of classes. I would like > > to be able to get information from one object to the other. I have a > > couple of my classes extending others, but are there other ways to do this? > > > > For example: If I have a database class and a separate class that would > > like to execute an sql statement... > > > > class mydbclass { > > var $db; > > function mydbclass ($server,$username,$password,$database){ > > $this->db=mysql_connect($server, $username, $password); > > mysql_select_db("$database",$db); > > } > > > > function dosql($sql){ > > $result = mysql_query($SQL,$db); > > } > > > > } > > > > class myotherclass { > > function myotherclass(){ > > $sql="select * from mytable"; > > > > #now, how can I use $mydbclass->dosql($sql) to > > #execute this statement? > > > > #I want to be able to build a bunch of html with > > #the resulting records and it wouldn't make > > #sence to build all that in my db class > > > > } > > } > > > > > > Thanks! > > I would suggest something like this: > > class myotherclass { > var $db > > function myotherclass(&$db){ > $this->db =& $db; > > $sql="select * from mytable"; > > $this->db->dosql($sql); > } > } > > $db = new mydbclass(); > $other = new myotherclass($db); > > I would also suggest capitalizing the class names and using another DB > abstraction layer (such as PEAR DB or MDB) but that's your option. ;-)
Good point Justin. You do not necessarily need a $db var in your data class - just use the passed $db object in your method: class myotherclass { var $db; function myotherclass(&$db) { $sql = 'select * from mytable'; $db->dosql($sql); } } Another way is to declare the $db variable global in your methods so that it is available without the need to pass it to *every* single method: class myotherclass { function myotherclass() { global $db; $sql="select * from mytable"; $db->dosql($sql); } } But this is a case of personal preference. Best regards, Torsten Roehr -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php