SyMfonAK - vyvíjame databázy pomocou frameworku Symfony
Ako získať objekt Request zo Service Container-a (How to Retrieve the Request from the Service Container)
Z SyMfonAK
Symfony dokumentácia → Service Container → Ako získať objekt Request zo Service Container-a (How to Retrieve the Request from the Service Container)
originál návod
namespace App\Newsletter; use Symfony\Component\HttpFoundation\RequestStack; class NewsletterManager { protected $requestStack; public function __construct(RequestStack $requestStack) { $this->requestStack = $requestStack; } public function anyMethod() { $request = $this->requestStack->getCurrentRequest(); // ... do something with the request }
Takto som to použil pre výber prípustných hodnôt ponuky vo formulári:
<?php // src/Form/ZoologyType.php namespace App\Form; use Symfony\Component\Form\AbstractType; use App\Entity\Zoology; use App\Entity\Lkppristupnost; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Bridge\Doctrine\Form\Type\EntityType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RequestStack; class ZoologyType extends AbstractType { protected $requestStack; public function __construct(RequestStack $requestStack) { $this->requestStack = $requestStack; } public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('zoology_locality') ->add('zoology_date') ->add('zoology_longitud') ->add('zoology_latitud') ->add('zoology_description') ->add('zoology_accessibility', EntityType::class, [ 'class' => Lkppristupnost::class, 'choice_label' => function ($lkppristupnost){ $request = $this->requestStack->getCurrentRequest(); $aPom = $request->getLocale(); if ($aPom == 'sk') { return $lkppristupnost->getLkppristupnostPopissk(); } else { return $lkppristupnost->getLkppristupnostPopisen(); } } , ]) ->add('lkpzoospecies_id') ->add('count') ->add('lkpzoochar_id') ->add('description') ->add('save', SubmitType::class) ; } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => Zoology::class, ]); } }