Correct me if I'm wrong but, unless I have a common folder for my class files, such as "/classes/", an autoloader has nothing to do with solving my problem. I get the impression that there might not be another way of solving the problem too, sadly. I need to force my users to put all their class files in a single directory. And it's rather messy.. On Mon, Sep 8, 2008 at 12:24 PM, Jochem Maas <jochem@xxxxxxxxxxxxx> wrote: > don't top post. > > Ali Çevik schreef: > >> 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. >> > > pass the class name as a property of the json encoded object and use an > autoloader (with properly defined include_path). > > http://php.net/autoload > http://php.net/spl_autoload_register > > if your developing a framework its hard to imagine your not using autoload > in > some way already, but there you go. > > > 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 >>> >>> >>> >> >