Bonjour,
dans le cadre d'un exercice je développe un mini framework PHP. C'est pas évident.
Voyez cette erreur quand je lance mon appli :
array(1) { [0]=> array(12) { ["id"]=> string(1) "1" [0]=> string(1) "1" ["auteur"]=> string(6) "Julien" [1]=> string(6) "Julien" ["titre"]=> string(17) "Ceci est un essai" [2]=> string(17) "Ceci est un essai" ["contenu"]=> string(16) "Et pas un essaim" [3]=> string(16) "Et pas un essaim" ["dateAjout"]=> string(19) "2018-11-28 00:00:00" [4]=> string(19) "2018-11-28 00:00:00" ["dateModif"]=> string(19) "2018-11-15 00:00:00" [5]=> string(19) "2018-11-15 00:00:00" } } array(12) { ["id"]=> string(1) "1" [0]=> string(1) "1" ["auteur"]=> string(6) "Julien" [1]=> string(6) "Julien" ["titre"]=> string(17) "Ceci est un essai" [2]=> string(17) "Ceci est un essai" ["contenu"]=> string(16) "Et pas un essaim" [3]=> string(16) "Et pas un essaim" ["dateAjout"]=> string(19) "2018-11-28 00:00:00" [4]=> string(19) "2018-11-28 00:00:00" ["dateModif"]=> string(19) "2018-11-15 00:00:00" [5]=> string(19) "2018-11-15 00:00:00" }
Fatal error: Uncaught Error: Call to a member function setContenu() on array in /var/www/html/Framework/Apps/Frontend/Modules/Articles/ArticlesController.php:18 Stack trace: #0 /var/www/html/Framework/Library/BackController.php(35): Apps\Frontend\Modules\Articles\ArticlesController->executeIndex(Object(Library\HTTPRequest)) #1 /var/www/html/Framework/Apps/Frontend/FrontendApplication.php(19): Library\BackController->execute() #2 /var/www/html/Framework/Web/Bootstrap.php(36): Apps\Frontend\FrontendApplication->run() #3 {main} thrown in /var/www/html/Framework/Apps/Frontend/Modules/Articles/ArticlesController.php on line 18
Comme vous le voyez c'est un array qui m'est retourné. Alors que j'ai le code suivant qui est censé me renvoyer des objets :
<?php
namespace Library\Models;
use \Entities\Articles;
class ArticlesManagerPDO extends ArticlesManager
{
public function getList($debut = -1, $limite = -1)
{
$sql = 'SELECT id, auteur, titre, contenu, dateAjout, dateModif FROM news ORDER BY id DESC';
if ($debut != -1 || $limite != -1)
{
$sql .= ' LIMIT '.(int) $limite.' OFFSET '.(int) $debut;
}
$requete = $this->dao->query($sql);
[b] $requete->setFetchMode(\PDO::FETCH_CLASS | \PDO::FETCH_PROPS_LATE, '\Entities\Articles');[/b]
$listeNews = $requete->fetchAll();
var_dump($listeNews);
foreach ($listeNews as $news)
{
var_dump($news);
}
$requete->closeCursor();
return $listeNews;
}
}
Du coup cela m'empêche d'appliquer des méthodes...
Si vous avez une idée sur la question, je vous remercie par avance de votre aide.