J'ai un problème. J'essaie d'obtenir des valeurs de DB et d'ajouter leur au tableau. Ensuite, je veux utiliser ce tableau pour le rendu dans le modèle au moyen de Twig {{content.language.text_logo}}. Comment puis-je modifier les propriétés des objets dans le tableau en "public"?Symfony-3.2 "Impossible d'accéder à la propriété privée ..."
Ceci est mon IndexController.php
<?php
namespace Seandle\HomeBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class IndexController extends Controller {
public function indexAction() {
return $this->render('SeandleHomeBundle:Default:index.html.twig', array(
'content' => $this->getLanguage(),
));
}
private function getLanguage() {
$repository = $this->getDoctrine()->getRepository('SeandleHomeBundle:SeandleLanguage');
$languages = $repository->findAll();
$language = array();
foreach ($languages as $language_key => $language_value) {
$language['language'] = array(
$language_value->languageLocation => array(
$language_value->languageVariable => $language_value->languageContent
)
);
}
return $language;
}
}
This is screenshot from browser
Comme il fait référence à votre accès à la propriété de l'entité, contribuerait à voir le code entité ainsi. Si la propriété est 'private', créez une fonction accesseur, donc' public function getLanguageLocation() {return $ this-> languageLocation;} 'pourrait être ajouté à l'entité, puis appelé dans votre vue. –