Re: accessing variable from inside a class
| From: | Shawn McKenzie | 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