Bir yolu içinde olduğunu kapatan $ hangi nesne bilmek kapalı bir nesne $ için, PHP5.3 de var mı? Esasen ben $ çevreleyen bazı değişkenler özellikle Lütfen bu değişkenler geçirmeden sadece kapalı $ için erişilebilir yapmak istiyorum
class Enclosing {
private $enclosed;//Enclosed object
private $othervar;
function __construct($a,$b){
$this->othervar=$a;
$this->enclosed= new Enclosed($b);
}
}
class Enclosed {
private $myvar;
function __construct($a){
$this->myvar=$a;
}
function where_am_i() {//get reference to Enclosing object
//????
}
}
Background:
Birden, belki yinelenen Olaylar sahip birden Tarifeleri görüntüleyebilen bir takvim üzerinde çalışıyorum. Ben (onların diğer sakıncaları rağmen kolay dilimleri ve nüks ile ilgili yapmak) taşıma için tarih PHPs DateTime, DateInterval ve DatePeriod nesneleri kullanıyorum. Şu anda benim tasarım şöyle:
Bir Takvim nesne, tüm ekran tarihleri içeren bir DatePeriod denilen $ penceresi var. örneğin Mayıs ayı, 1957.
Takvim de Takvimi nesneleri bir dizi $ programları vardır. $ Programları her üyesi $ pencerenin farkında olmalıdır. Yani Takvim ve zamanlama arasında Observer desen uygulanmaktadır.
Benzer şekilde, her Takvimi onlar tekrarlayan olabilir, çünkü aynı zamanda $ pencerenin farkında olmalıdır Olaylar, bir dizi $ olaylar vardır. Yani program ve etkinlik arasındaki Observer desen uygulanmaktadır.
Tüm bu birden çok diğer nesneler için bu değişiklikleri her zaman $ pencere kopyalama bir çağlayan var demektir.
$ Olaylarda Olaylar kendi kapatan Takvimi kim olduğunu biliyordu ve bu Programı kendi kapsayan Takvim kim olduğunu biliyordu eğer çok daha verimli olacaktır. Bu nesneler $ penceresini kullanmak için gerektiğinde Sonra sadece bunun için sorabilirsiniz.
Herhangi Bunun yapmanın iyi bir yolda düşünceler? Ben başvurabilirsiniz bir model var mı?