attribut src d'une image en php
Bonjour à tous,
J'ai une liste d'objets Bien. Chacun de ces objets possède une dizaine d'attributs, dont un attribut $photos, qui est un array d'objets Photo. Cette liste d'objets est correcte, je l'ai testée. Elle s'appelle $liste, et var_dump($liste) m'affiche bien ma liste d'objets, avec les bons attributs. Pour accéder à ma liste de photos, attribut de mon objet Bien, j'ai une méthode getPhotos() de mon objet Bien, dont voici le code :
Code:
1 2 3
| public function getPhotos(){
return $this->photos;
} |
Elle devrait donc renvoyer l'array de photos. J'ai voulu faire une boucle foreach, qui boucle tous les biens et affiche les photos de chaque. Mais il se passe quelque chose que je ne comprends pas :
immédiatement après la ligne où ma liste est correcte (c'est-à-dire juste après mon var_dump et après l'avoir "commenté"), je commence ma boucle foreach comme ceci :
Code:
1 2
| foreach($liste as $bien){
$photos = $bien->getPhotos(); |
mais si je fais un var_dump($bien) juste à la suite, seul le premier objet est retourné.
Je constate que l'include final de ma page (footer.php) n'apparaît pas non plus. J'en déduis que j'ai un problème de fermeture de parenthèse, guillemets ou balise. En effet, je constate qu'à un moment, la coloration syntaxique change : avec ce code :
Code:
1 2 3 4 5 6 7 8
| <div class="cadre-annonce">
<figure><img src="<?php
if (!empty($photos)) {
echo 'images/'.$photos[0];
}else{
echo 'images/no_picture2.jpg';
}
?>"><figcaption data-toggle="modal" data-target="#<?php echo $id_modal?>"><h4><span class="fa fa-search"></span> Cliquez ici pour voir les détails</h4></figcaption ></figure><section><?php echo $resume.'</section></div> |
Le changement de coloration syntaxique semble se produire lorsque j'essaie de préciser la source des images : <img src"<?php...?>"... Est-ce que les guillemets sont mal interprétés ? Si je les échappe, la coloration ne change pas. Y a-t-il une autre façon de faire ?
La coloration syntaxique semble redevenir normale si je remplace les " par " mais le résultat est le même : le script n'est pas lu jusqu'au bout.
Merci d'avance de votre aide.