Aktywne Wpisy
open_or_die +1812
Moja wieś nie zawiodła xD
Na 330 mieszkańców tylko 1 osoba oddała głos na kandydata z listy KO i bylem to ja xD
#wybory
Na 330 mieszkańców tylko 1 osoba oddała głos na kandydata z listy KO i bylem to ja xD
#wybory
Kruk_98 +1538
Babcia sie popłakała jak powiedziałem że na schetyne głosowałem do senatu XDDDDD i zaczęła mi mówić że przez moje pokolenie ruskie nas napadną, wspaniały moment, czekałem na niego 8 lat a smaku dodał hymn niemiec który puściłem żeby leciał w tle podczas rozmowy #wybory
app/console cache:clear
, tak aby własny bundle też mógł w tym czasie coś zrobić?#php #symfony
Anyway, znalazłem jednak coś co mi w tym pomoże: http://symfony.com/doc/current/reference/dic_tags.html#kernel-cache-clearer
Szczególnie wydając bundle nie warto robić takiej pokręconej logiki jak tworzenie własnych komend wywołujących wbudowane ;)
@kiler129: I vice-versa, wywołując cache:clear spodziewasz się, że usuniesz tylko cache z symfony2. W dodatkowych bundle'ach jest po prostu oddzielna komenda do czyszczenia cache'u tworzonego tylko przez tego bundle'a.
@kiler129: zrób sobie listener na zdarzenie bodajże console.command
Przy wywołaniu
cache:clear
cache doctrine czy sonaty również znika.$ php70 app/console cache:clear --no-warmup
Clearing the cache for the dev environment with debug true
$ ls app/cache/
Sama dokumentacja do
kernel.cache_clearer
mówi:@stacktrace: @uirapuru: O,
Natomiast co do tego nie mogę się zgodzić bo implementacja zdarzeń w Symfony po prostu tak działa, że bardzo często trzeba filtrować.
* Dorzucić zrzucanie jakichś swoich keszy? Jeszcze spox, choć mnie by trochę myliło, bo siadam do appki Symfonowej do zakładam, że to polecenie zrzuca właśnie Symfonowe kesze. Lepiej oddzielne polecenie, np app:clear-cache
* Zupełnie coś innego? Zdecydowanie nie dokładaj tego do zrzucania keszy, bo już w ogóle kiedyś będzie problem ze zdebugowaniem co się tu odwala. Rób swoje, oddzielne polecenie.
Jeśli
1. Na pewno zrób do tego dedykowane polecenie.
2. Dodatkowo możesz się podpiąć pod Symfonowe.
Ad2: tak jak już znalazłeś, podpiąć się tu: http://symfony.com/doc/current/reference/dic_tags.html#kernel-cache-clearer
Choć grepowałem ten tag i nie widzę, żeby cokolwiek się podpinało, do tego
./app/console debug:container --tag=kernel.cache_clearer
zwraca pustkę.Bo ładują się grzecznie do katalogu
cache
, a jego zawartość jest po prostu usuwana ;-)Ja przyjąłem bezpieczniejszą technikę - usuwam tylko pliki i foldery które mógł utworzyć kod, tak jakby ktoś przypadkiem ustawił katalog cache na
.
. Niestety nie mogę użyć standardowego katalogu cache bo potrzebuję mieć dostęp do niego z http ;)Osobną komendę też dodam - to mus, nie zawsze chce się czyścić całość.
@kiler129: Jak może to zrobić „przypadkiem”? Na podstawie czego decydujesz nazwę katalogu?
Symfony nie waliduje tego w żaden sposób na poziomie zrzucania, po prostu zaciąga z konfiguracji i ufa, że wartość jest prawidłowa.
Skąd jest ta wartość? Jest tworzona na podstawie zahardkodowanej nazwy katalogu (
cache
) i środowiska (env
) – to drugie raczej nie będzie zawierać..
;-)ALE,
Stąd właśnie używam metod które listują pliki które tworzy sam bundle i tylko je usuwam - patrząc na pattern to nawet gdyby ktoś ustawił sobie
/home/
to by wielkiej krzywdy nie zrobił.Cały sęk polega na
Pytanie, czy faktycznie nazwa katalogu musi być konfigurowalna? Jeśli tak, to jakim mechanizmem?
* Jeśli nie musi być konfigurowalna, to hardkodujesz (czy tam masz jakąś stałą/funkcję/etc co ją dostarczy) i tej wartości ufasz.
* Jeśli sama nazwa katalogu jest konfigurowalna, to ogranicz nazwy do a-z i waliduj (resztę