Debug_backtrace daha başka bir şey ile arayan işlevi almak () için herhangi bir yolu var mı?
I friend veya internal gibi kapsamları taklit etmek daha az açgözlü yol arıyorum.
Diyelim ki bir sınıf A ve sınıf B var diyelim
Şimdiye kadar, (IMHO) çok açgözlü olan debug_backtrace()
kullanarak oldum.
Ben böyle bir şey düşündüm:
<?php
class A
{
public function __construct(B $callerObj) {}
}
class B
{
public function someMethod()
{
$obj = new A($this);
}
}
?>
Size belirli bir sınıfa sınırlamak istiyorsanız Tamam olabilir, ama Diyelim ki 300 sınıfları var ve ben bunlardan 25 ile sınırlamak istiyorum diyelim belki?
Bir yolu toplamak için bir arayüz kullanıyor olabilir:
public function __construct(CallerInterface $callerObj)
Ama yine de bir ugly code bulunuyor.
Ayrıca, can't static sınıfları ile bu hile kullanmak.
Herhangi bir fikrin var mı?