RE: [PHP] How to find the object name in a class?

2001-04-23 Thread Boget, Chris

> So is there ANY way to get the name of the object in PHP code without
> knowing the name of the object ahead of time?

I went through this exact thing not too long ago with an error class
I wrote.  Unfortunately, there is no way to know.  What you can do,
however, is do a check to see if that object exists before you access
the variable.  Other than that, I think you're outta luck. :/

Chris



Re: [PHP] How to find the object name in a class?

2001-04-23 Thread Plutarck

*sigh* I'm thinking so too ;(

Doh!

However, I have at least a usable hack around.

In the constructor of your class, add:

function Class ($object_name)
{
global $pge;

$pge = $object_name;
}

Then when you use create a new object of that type you must use:

$objectname = new Class('objectname');

Then in your code you just use ${$pge}-> to refer to it.

Sucks, doesn't it?


--
Plutarck
Should be working on something...
...but forgot what it was.


""Boget, Chris"" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> > So is there ANY way to get the name of the object in PHP code without
> > knowing the name of the object ahead of time?
>
> I went through this exact thing not too long ago with an error class
> I wrote.  Unfortunately, there is no way to know.  What you can do,
> however, is do a check to see if that object exists before you access
> the variable.  Other than that, I think you're outta luck. :/
>
> Chris
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




RE: [PHP] How to find the object name in a class?

2001-04-24 Thread Boget, Chris

> *sigh* I'm thinking so too ;(
> Doh!
> However, I have at least a usable hack around.
> In the constructor of your class, add:
> function Class ($object_name) {
> global $pge;
> $pge = $object_name;
> }
> Then when you use create a new object of that type you must use:
> $objectname = new Class('objectname');

Heh.  This is exactly what I'm doing as it was the only work around
that I could find, too.

> Then in your code you just use ${$pge}-> to refer to it.

Yup.  However, before I do this, I check to make sure $pge is valid 
before I use it.  Otherwise, all kinds of nastiness can occur.

What I'm doing this for is my error reporting class.  I'm using a
wrapper function that calls my class' errorHandler() method since
you cannot specify a class method as the handler function.  Kind
of funky.  But doing this was the only way I could get around it.

> Sucks, doesn't it?

Yup.  But I'm sure there is a reason for it.  Kind of like whatever
the reason is that we cannot actually get a variable's name.

I.E.

$joe = "bob";

we cannot get that the above variable's name is "joe".
Oh, well.

Chris