"Brent Baisley" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > What is the best way to access one class from another? What I have is a > couple of "core" classes that are loaded into instances at the start of > each page. I then load instances of page specific classes. How would I > access the already loaded instances of the core classes from inside one > of the page specific classes? > > I tried a few things that didn't work. Is the only way to do this is to > load another instance of the core classes? > I'm finally trying to really get my hands around OOP, which has gone > very smooth up until this instance:). I'm using v4 not v5. > > I'm looking for something like this: > class Lists { > function UserList() { > } > ... > } > $coreLists = new Lists(); > ... > class Data { > function Entry() { > $users = $coreLists->UserList(); file://Accessing Lists Class > ... > } > }
Hi Brent, this is a case of variable scope: http://de2.php.net/variables.scope There are different ways to solve your problem: 1. Declare $coreLists global in your method: function Entry() { global $coreLists; $users = $coreLists->UserList(); } 2. Access it via the superglobal $GLOBALS: function Entry() { $users = $GLOBALS['coreLists']->UserList(); } 3. Pass the variable it to the class constructor and assign it to a class property: var $coreLists; function Data($coreLists) { $this->coreLists = $coreLists; } Best regards, Torsten Roehr -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php