Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2]requires that you provide a value for the "$profilesql" argument.
szypi1989
post 20.08.2018, 07:57:38
Post #1





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2010

Ostrzeżenie: (0%)
-----


  1. Witam . Otóż mam problem. Podczas wykonywania przekierowania:
  2. return $this->forward('AppBundle:User:profileinfo', array(
  3. 'user' => $this->get('security.token_storage')->getToken()->getUser()
  4. ));


Pokazuje mi się błąd:
Controller "AppBundle\Controller\UserController::profileinfoAction()" requires that you provide a value for the "$profilesql" argument. Either the argument is nullable and no null value has been provided, no default value has been provided or because there is a non optional argument after this one.

Nie Chce mi po prostu wstrzyknąć zależności podczas przekierowania. Jak to zrobić aby wstrzykneło?
To jest moja akcja z argumentami w kontrolerze:
  1. public function profileinfoAction(Request $request, $user, ProfileSql $profilesql) {}

I jak wstrzyknąć tą usługę ProfileSql $profilesql do przekierowania?
Próbowałem tak:
  1. return $this->forward('AppBundle:User:profileinfo', array(
  2. 'user' => $this->get('security.token_storage')->getToken()->getUser(), 'ProfileSql' => $profilesql
  3. ));

No ale niestety nie idzie.
Go to the top of the page
+Quote Post
robert0770
post 20.08.2018, 14:06:44
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

Ostrzeżenie: (0%)
-----


ProfileSql to encja?

Raczej chodzi o to aby ParamConverter wiedział jaki obiekt encji wyciągnąć więc popatrz na route (i z tego pomyśl co przekazać do forward)

ty nie przekazujesz w ten sposób obiektu do aktualnego requesta tylko "budujesz" nowy link i to jest nowy request
Go to the top of the page
+Quote Post
szypi1989
post 20.08.2018, 21:50:07
Post #3





Grupa: Zarejestrowani
Postów: 207
Pomógł: 0
Dołączył: 7.09.2010

Ostrzeżenie: (0%)
-----


ProfileSql to obiekt klasy , który jest wstrzykiwany. To zależność. Wyżej jest wszystko wyjaśnione. To może mi powiesz jak to zrobić z tym route aby to tam wstrzyknąć

Ten post edytował szypi1989 20.08.2018, 21:53:51
Go to the top of the page
+Quote Post
robert0770
post 21.08.2018, 14:14:07
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

Ostrzeżenie: (0%)
-----


Co to za obiekt? jak nie encja to moze jakis service? ale to od tego masz cointainera zeby z niego korzystać

w argumentach controllera dajesz tylko to co masz w route, nic wiecej nie potrzeba.

Kontrolerów sie przeważnie nie używa jak innych metod

po za tym co Ci szkodzi zrobić zwykły redirect?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 19:39