2015-03-27 17 views
6

symfony/finder component ile ilk dosyayı nasıl alabilirim? Finder :: files() sonucunun ilk dosyasına nasıl erişilir?

böyle yapmaya çalıştım:

<?php 
// ... 
$finder = new Finder(); 
$finder 
    ->files() 
    ->in($this->getKernel()->getRootDir().'/../web/uploads/') 
    ->name($filename); 

    if (!$finder->count()) { 
     throw new NotFoundHttpException('Image not found'); 
    } 

    dump(
     $finder->count(), 
     $finder->getIterator()->current(), 
     $finder->getIterator()->valid() 
    ); 

ve ben bu sonucu elde:

1 
null 
false 
+1

Bu soru bir tane geçerlidir sadece ilk resu ile ilgilendiğinde bir foreach döngü ve break ifadesi kullanmaktan kaçınmak istiyor lt. – k0pernikus

cevap

4

bir yineleyici dizisidir:

  • geri sarma
  • geçerli
  • akım/anahtar
  • sonraki
  • geçerli
  • akım/anahtar
  • sonraki
  • ...

deneyin ilk geri sarmak için veya \var_dump(\iterator_to_array($finder));

7
$iterator = $finder->getIterator(); 
$iterator->rewind(); 
$firstFile = $iterator->current(); 
İlgili konular