Re: Re[2]: Path of the class file of an object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I guess the word "meaningless" depends on what you are trying to do.

So, I guess I have to describe what I'm trying to do. The problem is, I need
to pass a php object to javascript via json and then back to php  again
using json. However, while doing that, I lose the type of the object
(because json_encode method or json_decode works independent from the
object's class). Thus, I somehow need to typecast. I thought I might hold
class name as a property of the object so it would be passed inside json,
but type casting would work if and only if I have class file of the object
included.

In case I add a "getClassPath()" like variable to each php class, it would
be a great mess. Moreover, what I'm trying to do is  developing a framework.
Thus, I don't want to force my users to alter their classes and their
behaviours.

This was my solution to keep the type persistent.

However, I would also thankfully appreciate if you have an idea to do that
in a better way.

thanks,

Ali.

On Sun, Sep 7, 2008 at 5:35 AM, ANR Daemon <anrdaemon@xxxxxxxxxxx> wrote:

> Greetings, "Ali Çevik".
> In reply to Your message dated Sunday, September 7, 2008, 1:51:33,
>
> >>>> I need a procedure or an implementation that gives path of the class
> file
> >>>> of
> >>>> an object which I pass as a parameter.
> >>>>
> >>>> Example;
> >>>>
> >>>> Assume I have a class file located at C:\htdocs\Foo.class.php
> >>>>
> >>>> In code after I include Foo.class.php;
> >>>>
> >>>> <?php
> >>>> $foo = new Foo();
> >>>> Echo some_procedure($foo);
> >>>> ?>
> >>>>
> >>>> I'm looking an implementation for that "some_procedure", which would
> make
> >>>> this program to print C:\htdocs\Foo.class.php .
> >>>> I have been googling around and also checked php.net but I wasn't
> able
> >>>> to
> >>>> find anything about this subject.
> >>>>
> >>>> It would be really helpful if someone knows that kind of procedure or
> at
> >>>> least has an implementation of it.
> >>>>
> >>>
> >>> The only way I know to do this would be to add a method to your class
> to
> >>> give it to you.
> >>>
> >>> class Foo
> >>> {
> >>>    public function getClassFilename()
> >>>    {
> >>>        return __FILE__;
> >>>    }
> >>> }
>
> >     Hmm, that should do the trick. Thanks a lot!
> >     But still, I wish there were a way of doing that, without altering
> the
> > class behaviour.
>
> (top posting fixed)
>
> Ok, if you prefer backward solution - hook your own error-handler and cause
> an
> error in class, then you'll have path to it's file in backtrace.
> I mean, knowing the filename of this or that function absolutely
> meaningless,
> unless you're running into problem of some sort.
>
>
> --
> Sincerely Yours, ANR Daemon <anrdaemon@xxxxxxxxxxx>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux