Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony2][Symfony] strona 404
Forum PHP.pl > Forum > PHP > Frameworki
borpaw
Mam dwa pytania

1) Gdzie w symfony2 można umieścić funkcje do aktualizowania danych
2) Zrobiłem stronę error404.html.twig i działa tylko po zdronie app_dev.php, a w trybie produkcji nie działa. Jak to ustawić żeby było odwrotnie
uirapuru
Co rozumiesz przez "aktualizowanie" danych? Masz entity managery i repozytoria.

Co do strony 404 to spróbuj zacząć od przeczyszczenia cache dla środowiska prod
borpaw
1) chodzi o umieszczenie gdzieś prostej funkcji która liczy count + 1 po każdym odświeżeniu strony
2) cache usuwałem nawet fizycznie, nic to nie dało
uirapuru
Stwórz sobie serwis, nazwij go "inkrementator" czy cos takiego, wstrzyknij mu sesję i w sesji ustawiaj sobie nim te wartość smile.gif

Oczywiście to jedna z miliona możliwości, bo nie bardzo wiem do czego to moze sluzyc.
Forti
Co do +1 za każde odświeżenie strony, to chyba coś takiego najłatwiej:

  1.  
  2. $em = $this->getDoctrine()->getManager();
  3. $entity = $em->getRepository('AcmeFajneBundleSobieJest')->find($id);
  4.  
  5. $rekord = $entity->getRekord() + 1;
  6. $entity->setRekord($rekord);
  7.  
  8. $em->persist($entity); // persist nie potrzebny przy update, ale dla czytelności lubie go wstawiać
  9. $em->flush();
  10.  


Mam nadzieje, że w miare czytelne wink.gif
ikssde
Kolega pytał o to gdzie wstawić taki kod, a nie jak ten kod powinien wyglądać.

Według mnie najlepszym sposobem będzie napisanie event subscriber'a i podpięcie go pod np. pod kernel.request.

Artykuł do poczytania na ten temat.

Co do drugiego problemu to do jakiego katalogu wrzuciłeś plik error404.html.twig? Jeśli w środowisku rozwojowym pokazuje się błąd 404 zgodny z tym plikiem to co pokazuje się w środowisku produkcyjnym jak wywołasz ten sam adres?
borpaw
Katalog strony error404.html.twig

app\Resources\TwigBundle\views\Exception\error404.html.twig

I na lokalu działa mi normalnie tak jak trzeba ale te same źródła na serwerze i działa to odwrotnie po stronie dev strona 404 działa a po stronie prod nie działa

Jak to powinno być poustawiane właściwie
Ja mam tak:

  1. AppKernel.php
  2.  
  3. if (in_array($this->getEnvironment(), array('dev', 'false'))) {


  1. app.php
  2.  
  3. $kernel = new AppKernel('prod', true);


  1.  
  2. app_dev.php
  3.  
  4. $kernel = new AppKernel('dev', false);
ikssde
Zamień sobie tak, żebyś w produkcyjnej wersji miał:

  1. // app.php
  2. $kernel = new AppKernel('prod', false);


Natomiast w wersji developerskiej odwrotnie.
Drugi parametr w konstruktorze AppKernel odpowiada za debugowanie, może w tym leży problem.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.