I have multiple classes set up and they all need to access the database, which they do. The trouble comes when I want to use a function from one class inside another. \[code\]class General{private $_db = NULL;private $_db_one;private $_db_two;private $offset;public function __construct ( PDO $db ) { $this->_db = $db; $this->_db_one = 'lightsnh_mage1'; $this->_db_two = 'lightsnh_inventory'; $this->offset = 10800; }public function getTableNames() { $sql = 'SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = "BASE TABLE" AND TABLE_SCHEMA="' . $this->_db_two . '"'; $statement = $this->_db->query($sql); $result = $statement->fetchAll(PDO::FETCH_ASSOC); return $result;} \[/code\]This works fine and then my other class connects the same way. As you will see in my "Distributors" class below, I instantiate my "General" class in the constructor. As I am learning while I write, I cant help but feel that there is a more versatile way or efficient way to connect.\[code\]class Distributors{private $_db = NULL;private $_db_one;private $_db_two;private $_source_tbl;public $lights;public function __construct ( PDO $db ) { $this->_db = $db; $this->_db_one = 'lightsnh_mage1'; $this->_db_two = 'lightsnh_inventory'; $this->_source_tbl = 'distributors'; // is this the best way to get functions from another class inside of this class? I have 10 classes I will need to repeat this for. $this->lights = new General($db);}public function getInventorySources() { // calling function from General class inside my distributor class $tables = $this->lights->getTableNames(); // using result of General function inside of a function from Distributors class $sql = 'SELECT * FROM `' . $tables . '` WHERE `exclude` = 0'; $statement = $this->_db->query($sql); $result = $statement->fetchAll(PDO::FETCH_ASSOC); return $result;}\[/code\]