Re: accessing variable from inside a class

From: Date: Fri, 04 Sep 2009 22:06:07 +0000
Subject: Re: accessing variable from inside a class
References: 1  Groups: php.general php.general 
Request: Send a blank email to php-general+get-297708@lists.php.net to get a copy of this message
Lars Nielsen wrote: > Hi, > > How do i access a variable from inside a class? ex. I want to use > $template_dir inside Template. > > > $template_dir = 'templates/'; > > class templateParser { > var $output; > > function templateParser($templateFile='default_template.htm') > { > (file_exists($template_dir.$templateFile)) ? > $this->output=file_get_contents($template_dir.$templateFile) > : > die('Error:Template file '.$template_dir.$templateFile.' not found'); > } > > } > > I run Fedora 10, apache 2.2.11 and php 5.2.9. > I get an error saying that $template_dir is undefined. > > Regards > Lars Nielsen > Well you have to access it as a global by either declaring it global in the method (global $template_dir;) or by the superglobal $GLOBALS['template_dir']. However this is probably not the preferred way to do it. I would either define it as a constant define('TEMPLATE_DIR', 'templates/') or you could pass $template_dir into the class constructor and have it set as a class var, but I prefer the constant. -- Thanks! -Shawn http://www.spidean.com

« previous php.general (#297708) next »