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
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php