Edit report at https://bugs.php.net/bug.php?id=63834&edit=1

 ID:                 63834
 Comment by:         tolan333 at gmail dot com
 Reported by:        tolan333 at gmail dot com
 Summary:            Add a function to detect a methods calling context
 Status:             Open
 Type:               Feature/Change Request
 Package:            Class/Object related
 Operating System:   Any
 PHP Version:        Irrelevant
 Block user comment: N
 Private report:     N

 New Comment:

Thanks for the comments. After rethinking about this, krakjoe's suggestions 
seems to be superior (solves the issue and is way easier). Is their any chance 
to see this improvement in 5.5 or 5.6? Or what needs to be done to get this 
implemented?


Previous Comments:
------------------------------------------------------------------------
[2012-12-31 12:02:45] krak...@php.net

acquiring a backtrace is an inefficient means of obtaining this information ...

------------------------------------------------------------------------
[2012-12-31 11:55:17] ni...@php.net

I still fail to use just what exactly this asks for and how it would be 
beneficial.

@krakjoe: The get_calling_method and get_calling_class functions you added 
should already be fully covered by debug_backtrace, so I see little value in 
adding them (as the use case is rather limited).

@op: Regarding the last two PHP_CONTEXT_EXTERN constants, what do you mean by 
"user" and "core"? E.g. if you invoke a callback using call_user_func, is that 
an internal or a userland call? It's the internal function doing the call, but 
it's really the user who triggers it. I don't see how these constants would 
carry any meaning.

The other two again can be covered by debug_backtrace, can't they? Just get the 
class of the call and check whether it equals __CLASS__ (=> private) or is a 
subclass of __CLASS__ (=> protected) or is none (=> public). Seems simple 
enough to me.

------------------------------------------------------------------------
[2012-12-31 11:49:59] krak...@php.net

The following patch has been added/updated:

Patch Name: 63834-2.patch
Revision:   1356954599
URL:        
https://bugs.php.net/patch-display.php?bug=63834&patch=63834-2.patch&revision=1356954599

------------------------------------------------------------------------
[2012-12-31 11:37:55] krak...@php.net

-2 will provide get_calling_method and get_calling_class, I think that's 
everything you should need

------------------------------------------------------------------------
[2012-12-31 11:36:48] krak...@php.net

The following patch has been added/updated:

Patch Name: 63834-2.patch
Revision:   1356953808
URL:        
https://bugs.php.net/patch-display.php?bug=63834&patch=63834-2.patch&revision=1356953808

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=63834


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63834&edit=1

Reply via email to