私は問題があります。私はDBから値を取得し、それらの配列に追加しようとします。次に、この配列をTwig {{content.language.text_logo}}を使ってテンプレートにレンダリングしたいと考えています。 配列内のオブジェクトのプロパティを「public」に変更するにはどうすればよいですか?Symfony-3.2 "プライベートプロパティにアクセスできない..."
これは私の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
それはあなたのエンティティプロパティへのアクセスを参照しているので、同様のエンティティコードを見るために役立つだろう。プロパティが 'private'の場合は、アクセサー関数を作成して、' public function getLanguageLocation(){return $ this-> languageLocation;} 'をエンティティに追加してビューで呼び出すことができます。 –