Bluehost.com Web Hosting $6.95

accessing one object's attribute from another

This is a discussion on accessing one object's attribute from another within the PHP General forums, part of the PHP Programming Forums category; Hi all, I've be developing with a structured approach for a long time and am working at improving my ...


Go Back   Usenet Forums > PHP Programming Forums > PHP General

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 09-10-2007
Larry Brown
 
Posts: n/a
Default accessing one object's attribute from another

Hi all, I've be developing with a structured approach for a long time
and am working at improving my site by adding some classes etc. I
however, am running into an odd thing that I can't figure out what a
reasonable search syntax would yield the desired solution. The problem
is as follows:

class a {

var $thisVar;
...
}

class b {

function hello()
{
echo $first->thisVar;
}
}

$first = new a();
$first->thisVar = "world";

$second = new b();
$second->hello();


There are a number of variables and methods that are common throughout
the user's session that I'm storing in object $first. Class b has
nothing in common with a except that it needs a couple of the variables
stored in the object that is hanging around in the session.

Is $first->thisVar the wrong way to reference that variable? How can I
get to it?

TIA,

Larry


Reply With Quote
  #2 (permalink)  
Old 09-10-2007
Robert Degen
 
Posts: n/a
Default Re: [PHP] accessing one object's attribute from another

Perhaps I misunderstood the problem, but I would simply...

On So, Sep 09, 2007 at 10:06:15 -0400, Larry Brown wrote:
> Hi all, I've be developing with a structured approach for a long time
> and am working at improving my site by adding some classes etc. I
> however, am running into an odd thing that I can't figure out what a
> reasonable search syntax would yield the desired solution. The problem
> is as follows:
>
> class a {
>

private $thisVar;

public function getThisVar() {
return $this->thisVar;
}

public function setThisVar($v) {
$this->thisVar = $v;
}

> ...
> }
>
> class b {
>
> function hello()
> {



echo $first->getThisVar();


> }
> }
>
> $first = new a();


$first->setThisVar("world");

>
> $second = new b();
> $second->hello();
>
>
> There are a number of variables and methods that are common throughout
> the user's session that I'm storing in object $first. Class b has
> nothing in common with a except that it needs a couple of the variables
> stored in the object that is hanging around in the session.
>
> Is $first->thisVar the wrong way to reference that variable? How can I
> get to it?
>
> TIA,
>
> Larry
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php


--
Und komm, Du brauchst nur einen Baum
um 1000 Streichhölzer herzustellen.
Aber Du brauchst nur einen Streichholz
um 1000 Bäume abzubrennen.
Meine Güte wer soll das denn jetzt verstehen?
Ganz egal, komm wir bleiben noch etwas länger.
Die Bedeutung zahlt ja immer der Empfänger
Reply With Quote
  #3 (permalink)  
Old 09-10-2007
Chris
 
Posts: n/a
Default Re: [PHP] accessing one object's attribute from another

Larry Brown wrote:
> Hi all, I've be developing with a structured approach for a long time
> and am working at improving my site by adding some classes etc. I
> however, am running into an odd thing that I can't figure out what a
> reasonable search syntax would yield the desired solution. The problem
> is as follows:
>
> class a {
>
> var $thisVar;
> ...
> }
>
> class b {
>
> function hello()
> {
> echo $first->thisVar;
> }
> }
>
> $first = new a();
> $first->thisVar = "world";
>
> $second = new b();
> $second->hello();
>
>
> There are a number of variables and methods that are common throughout
> the user's session that I'm storing in object $first. Class b has
> nothing in common with a except that it needs a couple of the variables
> stored in the object that is hanging around in the session.
>
> Is $first->thisVar the wrong way to reference that variable? How can I
> get to it?


$first doesn't exist to $second - you need to make it so it knows what
it is.

class b {
var $first;
function __construct($first) {
$this->first = $first;
}

function hello() {
echo $this->first->thisVar;
}
}

then you:

$first = new a();
$second = new b($first);
$second->hello();

--
Postgresql & php tutorials
http://www.designmagick.com/
Reply With Quote
  #4 (permalink)  
Old 09-10-2007
Larry Brown
 
Posts: n/a
Default Re: [PHP] accessing one object's attribute from another

On Mon, 2007-09-10 at 12:45 +1000, Chris wrote:
> Larry Brown wrote:
> > Hi all, I've be developing with a structured approach for a long time
> > and am working at improving my site by adding some classes etc. I
> > however, am running into an odd thing that I can't figure out what a
> > reasonable search syntax would yield the desired solution. The problem
> > is as follows:
> >
> > class a {
> >
> > var $thisVar;
> > ...
> > }
> >
> > class b {
> >
> > function hello()
> > {
> > echo $first->thisVar;
> > }
> > }
> >
> > $first = new a();
> > $first->thisVar = "world";
> >
> > $second = new b();
> > $second->hello();
> >
> >
> > There are a number of variables and methods that are common throughout
> > the user's session that I'm storing in object $first. Class b has
> > nothing in common with a except that it needs a couple of the variables
> > stored in the object that is hanging around in the session.
> >
> > Is $first->thisVar the wrong way to reference that variable? How can I
> > get to it?

>
> $first doesn't exist to $second - you need to make it so it knows what
> it is.
>
> class b {
> var $first;
> function __construct($first) {
> $this->first = $first;
> }
>
> function hello() {
> echo $this->first->thisVar;
> }
> }
>
> then you:
>
> $first = new a();
> $second = new b($first);
> $second->hello();
>
> --
> Postgresql & php tutorials
> http://www.designmagick.com/
>


Thanks Chris and Robert, these both should work fine and was just what I
was looking for.

Larry
Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT +1. The time now is 12:05 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0