Dahili yönteminde PHP bir nesnenin belirli bir örneğini bulmak için?

2 Cevap php

Ben gerçekten nesne yönelimli programlamalarına geldiğinde clueless değilim, bu yüzden açıktır beni affet ...

Ben bir iç içe bir nesne gibi bir istekte döndüren bir Zend eklentisini kullanıyorum. Ben nesne özelliği varsa a dayalı özelliği gerekir b. Şu anda mülkiyet b aramak için koşullu bir foreach döngü kullanarak ve ben bir maç olsun, özellik benim değişkeni ayarlamak a. Am

Gibi bir şey:

 foreach($nested_object as $object) {
    if($object -> foo -> bar == "match") {
         $info = $object -> stuff -> junk;
    }
 }

Ben bunu yapmak için daha zarif bir şekilde XPath'ın çizgisinde, (ama kesinlikle o kadar basit bir şey XPath'ın uzaktan yakın olmak zorunda değildir) umuyordum.

Ben ihtiyacım özelliğini biliyorum Yani, bu özelliği ile her türlü nesneleri almak için PHP bir yolu var mı?

2 Cevap

Hayır bunu otomatik bir şekilde inşa var. Yakın OOP yolu arama yapmak ve uygun nesne (ler) dönecektir toplama sınıfı (iç içe nesne) için bir yöntem eklemektir. Bu yöntem kod gibi bir çok olmazdı. Bu birden fazla yer yapmak için ihtiyacınız yoksa, o zaman bence o (şimdilik) 'doğru' yol yapıyoruz.

Sen her zaman sadece mülkiyet b bir isset() çek peform olabilir

if (isset($object->b)) {
    $info = $object->a;
}

Eğer Zend kullanıyorsanız bu yana bir varsayım yapmak için, böyle bir şey olabilir

if (isset($this->request)) {
    $info = $this->request;
}