2011-06-29 26 views
8

Belirli bir sınıfın bir üyesi alır bir işlevi vardır:PHP Fonksiyon Bağımsız değişkenler: Belirli Bir Sınıf Nesnelerin Dizi

Ben My_Page nesneleri dizisini alır başka bir fonksiyon yapmak istiyorum:

public function addPages($pages) 
{ 
    // ... 
} 

$ sayfa dizisinin her öğesinin bir My_Page örneğinin olduğundan emin olmalıyım. Bunu foreach($pages as $page) ile yapabilir ve instance of için kontrol edebilirim, ancak bir şekilde fonksiyon tanımında dizinin bir My_Page nesnesi dizisi olması gerektiğini belirtebilir miyim? Doğaçlama, bir şey gibi:

public function addPages(array(My_Page)) // I realize this is improper PHP... 

Teşekkürler!

cevap

8

Hayır, doğrudan yapmak mümkün değildir. Bunun yerine, bu "akıllı" hile deneyebilirsiniz:

public function addPages(array $pages) 
{ 
    foreach($pages as $page) addPage($page); 
} 

public function addPage(My_Page $page) 
{ 
    // 
} 

Ama hepsi sorun değer olup olmadığını ben emin değilim. addPage'un kendi başına yararlı olması iyi bir yaklaşım olacaktır.

0

yerine nesneleri dizisini (array(My_Page)) geçme, kendi sınıfını tanımlamak ve işlevinde bunun bir örneğini gerektirir:

class MyPages { ... } 

public function addPages(MyPages pages) 
İlgili konular