Re: include file in a class with global/parent scope?

From: Date: Tue, 16 Jun 2009 11:12:14 +0000
Subject: Re: include file in a class with global/parent scope?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-294072@lists.php.net to get a copy of this message
Martin Scotta wrote: > Where is $vars? there is no $vars in your code... > > You can extract all the global space in the CScope method, it's quite > simple, but less performant. > > > class CScope { > > public $vars = 'class scope\n'; > > function cinclude($filename) { > extract( $GLOBALS ); > include('vars.php'); > echo "In class $vars\n"; > } > } > > On Sun, Jun 14, 2009 at 1:41 PM, Daniel Kolbo <kolb0057@umn.edu > <mailto:kolb0057@umn.edu>> wrote: > > Hello, > > I understand the why $vars is not in the global scope, but i was > wondering if there was a way from within the class file to include a > file in the parent's scope? > > i tried ::include('vars.php'), parent::include('vars.php'), but this > breaks syntax... > > Please consider the following three files: > > 'scope.class.inc' > <?php > class CScope { > > public $vars = 'class scope\n'; > > function cinclude($filename) { > include('vars.php'); > echo "In class $vars\n"; > } > } > ?> > > 'vars.php' > <?php > //global $vars;//if this line is uncommented then the desired result is > achieved however, i don't want to change all the variables to global > scope (this file is includeded in other files where global scoped > variables is not desireable). > $vars = 'vars.php scope\n'; > ?> > > 'scope.php' > <?php > include('scope.class.inc'); > $object = new CScope; > $object->cinclude('vars.php'); > echo "In original $vars\n";//$vars is not defined*** > ?> > > Thanks, > dK > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > -- > Martin Scotta replace all $var with $vars. The extract method proposed is the opposite of what i'm looking to do. I want to bring the class's include scope into the calling object's scope.

« previous php.general (#294072) next »