--- On Tue, 12/15/09, Allen McCabe <allenmccabe@xxxxxxxxx> wrote: > From: Allen McCabe <allenmccabe@xxxxxxxxx> > Subject: Class not functioning > To: "phpList" <php-general@xxxxxxxxxxxxx> > Date: Tuesday, December 15, 2009, 6:17 AM > Hey everyone, I just delved into > classes recently and have been having > moderate success so far. > > I have a puzzler though. > > I have the following class decalred and instantiated: > > class Notify { > var $q = array(); > > public function addtoQ($string, $class) > { > $message = '<span class="'. $class .'">'. > $string .'</span>'; > $this->q[] = $message; > } > > public function printQ() > { > if (isset($q)) > { > echo '<p align="center" > class="notification">'; > foreach($this->q as $msg) > { > echo $msg ."\n"; > } > echo '</p>'; > } > > return; > } > > function __destruct() > { > if (isset($q)) > { > unset($this->q); > } > } > } // END CLASS Notify > > > And in my script, I call it like so: > $Notif = new Notify; > > I have run other statements in other classes that should be > adding to the $q > array (ie. Notify::addtoQ('ERROR! There Was An Error > Updating The > Database!', 'error');) > > However, when I try to get my webpage to display them > using: > > $Notify->printQ(); > > it does not seem to want to loop through this array (and > print the > messages). I am getting NO error message, in fact > everything 'looks' fine, > I'm just not seeing the appropriate message. > > Any help would be appreicated! > Allen, You have made a small typing mistake in function printQ() where you would like to checked the array for its existence. By mistake you have wrote "if (isset($q))". But your array variable is not an freely accessible array,the array is embedded into an object. So, you have to write the like "if (isset($this->q))". Another point, you can't add a message into the array by calling the member function addtoQ() using scope resolution operator "::". If you really want to add message into the array, you have to call the member function from within the object. (ie. $Notif->addtoQ('ERROR! There Was An Error Updating The Database!', 'error');). --- নির্মাল্য লাহিড়ী [Nirmalya Lahiri] +৯১-৯৪৩৩১১৩৫৩৬ [+91-9433113536] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php