Symfony

 0    72 fiszki    nowakowskilukasz12
ściągnij mp3 drukuj graj sprawdź się
 
Pytanie język polski Odpowiedź język polski
Co robi filtr raw w Twig?
rozpocznij naukę
Wyłącza auto-escaping, analogicznie do {!!!} w Blade.
Jak działa Symfony Secrets Vault?
rozpocznij naukę
secrets: set szyfruje wartość i zapisuje w repo, klucz deszyfrujący trzymany osobno poza repo.
Co odpowiada za authentication w Symfony Security: firewall czy voter?
rozpocznij naukę
Firewall - określa mechanizm uwierzytelnienia dla danego zakresu URL.
Co odpowiada za authorization na poziomie konkretnego obiektu w Symfony?
rozpocznij naukę
Voter - sprawdza np. czy TEN user może edytować TEN konkretny post.
Czym jest access_control w security. yaml?
rozpocznij naukę
Deklaratywne reguły kto może wejść na dany prefix URL, oparte o role, sprawdzane przed kontrolerem.
Która strategia AccessDecisionManager przyznaje dostęp, jeśli choć jeden voter powie tak?
rozpocznij naukę
affirmative - domyślna strategia w Symfony Security.
Jaki event HttpKernel odpala się jako pierwszy?
rozpocznij naukę
kernel. request - tu działa routing, można od razu zwrócić Response.
Który event pozwala podmienić kontroler przed jego wywołaniem?
rozpocznij naukę
kernel. controller.
Kiedy dispatchowany jest kernel. view?
rozpocznij naukę
Tylko jeśli kontroler nie zwrócił obiektu Response (np. zwrócił tablicę/DTO).
Co robi listener na kernel. view w API?
rozpocznij naukę
Zamienia wynik kontrolera na Response, np. serializuje tablicę do JsonResponse.
Który event to ostatnia szansa modyfikacji gotowego Response?
rozpocznij naukę
kernel. response.
Kiedy dispatchowany jest kernel. terminate?
rozpocznij naukę
Po obsłużeniu response - może posłużyć do pracy wykonywanej po odpowiedzi, ale to nie jest prawdziwa kolejka/background job, do niezawodnej pracy asynchronicznej służy np. Symfony Messenger.
Kiedy dispatchowany jest kernel. exception?
rozpocznij naukę
W dowolnym momencie, gdy coś rzuci wyjątek.
Co zatrzymuje propagację do domyślnego error handlera w listenerze na kernel. exception?
rozpocznij naukę
$event->setResponse().
Co robi autowire w services. yaml?
rozpocznij naukę
Kontener sam odgaduje co wstrzyknąć w konstruktor na podstawie type-hintów.
Co robi autoconfigure w services. yaml?
rozpocznij naukę
Automatycznie taguje serwis na podstawie implementowanych interfejsów.
Czy autowire i autoconfigure to ta sama funkcja?
rozpocznij naukę
Nie - to dwie niezależne funkcje, można mieć jedną bez drugiej.
Dlaczego od Symfony 4 serwisy są domyślnie private?
rozpocznij naukę
Wymusza jawne DI - nie da się ich pobrać bezpośrednio z kontenera z zewnątrz.
Kiedy publiczny serwis ma dziś sens w Symfony?
rozpocznij naukę
Głównie w testach, przez static: getContainer()->get() w KernelTestCase.
Co się dzieje, gdy dwie klasy implementują ten sam interfejs, a autowire jest włączony?
rozpocznij naukę
Kontener rzuca błędem kompilacji, bo nie umie zgadnąć, którą wstrzyknąć.
Jak wskazać domyślną implementację interfejsu przy dwóch kandydatach?
rozpocznij naukę
Aliasować ją w services. yaml, np. App\Contract\Gateway: '@App\Service\StripeGateway'.
Gdzie trafia skompilowany kontener Symfony?
rozpocznij naukę
Do pliku w var/cache/{env}/.
Co to jest Compiler Pass?
rozpocznij naukę
Klasa implementująca CompilerPassInterface: process(), modyfikująca definicje serwisów w trakcie kompilacji.
Kiedy Compiler Pass jest potrzebny mimo autoconfigure?
rozpocznij naukę
Gdy trzeba zbiorczo połączyć otagowane serwisy z pełną kontrolą, np. sortowaniem po atrybucie tagu.
Gdzie rejestruje się Compiler Pass?
rozpocznij naukę
W metodzie build(ContainerBuilder $container) w src/Kernel. php.
Czym dziś jest Bundle w rozumieniu Symfony Flex?
rozpocznij naukę
Mechanizmem integracji dla paczek third-party, nie domyślnym sposobem organizacji własnego kodu.
Gdzie dziś leży kod własnej aplikacji Symfony?
rozpocznij naukę
Po prostu w src/, bez owijania go w bundle.
Co robi Symfony Flex przy composer require symfony/mailer?
rozpocznij naukę
Automatycznie dopisuje config/packages/mailer. yaml i zmienne do. env.
Która wartość wygrywa przy tej samej zmiennej w. env i. env. local?
rozpocznij naukę
. env. local, bo pliki lokalne mają wyższy priorytet niż domyślne.
Który plik. env ma najwyższy priorytet ze wszystkich?
rozpocznij naukę
Realne zmienne środowiskowe systemu.
Jaką metodę implementuje klasa dziedzicząca po Voter, by sprawdzić czy dotyczy danego atrybutu?
rozpocznij naukę
supports(string $attribute, mixed $subject).
Jaka metoda Votera zwraca faktyczną decyzję dostępu?
rozpocznij naukę
voteOnAttribute().
Jak rejestruje się Voter w kontenerze?
rozpocznij naukę
Automatycznie dzięki autoconfigure, bo klasa dziedziczy po Voter.
Jaka metoda authenticatora sprawdza, czy powinien obsłużyć dany request?
rozpocznij naukę
supports(Request):? bool.
Jaka metoda authenticatora buduje Passport z danymi logowania?
rozpocznij naukę
authenticate(Request): Passport.
Co robi persist($entity) w Doctrine?
rozpocznij naukę
Nie wykonuje żadnego SQL - tylko rejestruje obiekt jako zarządzany w UnitOfWork.
Co robi flush() w Doctrine?
rozpocznij naukę
Oblicza changeset i wykonuje realne zapytania SQL w jednej transakcji.
Co to jest Identity Map w Doctrine?
rozpocznij naukę
Mapa (typ encji + ID) -> obiekt, dzięki której drugie find() o tym samym ID zwraca ten sam obiekt z pamięci.
Jaka jest pułapka Identity Map w długo żyjącym procesie CLI?
rozpocznij naukę
EntityManager rośnie w pamięci, bo trzyma referencje do wszystkich pobranych encji.
Czym rozwiązać rosnącą pamięć EntityManagera w workerze?
rozpocznij naukę
Wołaniem entityManager->clear().
Co to jest proxy w Doctrine?
rozpocznij naukę
Wygenerowana klasa-cień z samym ID, doładowująca dane relacji dopiero przy pierwszym dostępie.
Czym różni się JOIN od JOIN FETCH w DQL?
rozpocznij naukę
JOIN może filtrować po powiązanej encji bez jej eager hydration, JOIN FETCH pobiera relację razem z encją i może ograniczyć N+1.
Skąd bierze się treść migracji generowanej przez doctrine: migrations: diff?
rozpocznij naukę
Z porównania realnego schematu bazy z mapowaniem encji - encje są źródłem prawdy.
Co owija wiadomość w Symfony Messenger?
rozpocznij naukę
Envelope, do którego doczepiane są Stamps (metadane).
Jak Symfony osiąga stały czas dopasowania trasy niezależnie od liczby tras?
rozpocznij naukę
Kompiluje wszystkie trasy do jednej zoptymalizowanej struktury regex w cache.
Co robi #[MapEntity], gdy encja o danym ID nie istnieje?
rozpocznij naukę
Rzuca NotFoundHttpException tłumaczone przez kernel. exception na 404.
Co realnie jest wyłączone w Symfony przy APP_ENV=prod?
rozpocznij naukę
Sprawdzanie timestampów plików konfiguracyjnych przy każdym requeście.
Dlaczego zmiana services. yaml na produkcji Symfony nie działa bez cache: clear?
rozpocznij naukę
Produkcyjny kontener to zamrożony, wygenerowany kod PHP w var/cache/prod/.
Jakiej komendy użyć, żeby wymusić przebudowę kontenera Symfony na produkcji?
rozpocznij naukę
php bin/console cache: clear --env=prod.
Po co dodatkowo cache: warmup po deployu w Symfony?
rozpocznij naukę
Żeby pierwszy request po deployu nie płacił kosztu budowania kontenera.
Jaka jest minimalna wersja PHP wymagana przez Symfony 6?
rozpocznij naukę
PHP 8.1.
Jaka jest minimalna wersja PHP wymagana przez Symfony 7?
rozpocznij naukę
PHP 8.2.
Co zastąpiły atrybuty PHP w Symfony 6+ względem starszych wersji?
rozpocznij naukę
Adnotacje w komentarzach (@Route) - dziś standardem są natywne atrybuty #[Route].
Co to jest Symfony LTS (Long Term Support)?
rozpocznij naukę
Wersja wspierana dłużej (np. 6.4), wydawana co 2 lata, dobra baza pod stabilne projekty.
Co domyślnie zastępuje Webpack Encore w nowszych wersjach Symfony?
rozpocznij naukę
AssetMapper - natywne zarządzanie assetami bez bundlera.
Jakie są trzy sposoby definiowania tras w Symfony?
rozpocznij naukę
Atrybuty PHP #[Route] (dziś domyślne), YAML w config/routes. yaml oraz konfiguracja tras w PHP przez RouteCollection.
Do czego służą route requirements w Symfony?
rozpocznij naukę
Ograniczają wartość parametru trasy regexem, np. \d+ dla ID - bez nich trasa dopasuje dowolny string.
Czym DQL różni się od QueryBuilder i natywnego SQL w Doctrine?
rozpocznij naukę
DQL operuje na encjach/polach nie tabelach, QueryBuilder to programistyczne budowanie DQL, natywny SQL omija ORM dla specyficznych funkcji silnika bazy.
Do czego służy KernelTestCase w Symfony?
rozpocznij naukę
Testy integracyjne serwisów z dostępem do kontenera, bez symulacji requestu HTTP.
Do czego służy WebTestCase w Symfony?
rozpocznij naukę
Testy feature całych endpointów przez symulowany KernelBrowser.
Jak zalogować użytkownika w teście Symfony bez formularza?
rozpocznij naukę
$client->loginUser($user).
Jak przetestować serwis zależny od EntityManagera bez realnej bazy?
rozpocznij naukę
Mockując EntityManagerInterface albo używając bazy testowej SQLite in-memory.
Czy JWT stateless firewall w Symfony korzysta z sesji PHP?
rozpocznij naukę
Nie - cała tożsamość jedzie podpisana w nagłówku Authorization każdego requestu.
Jaki atrybut Symfony automatyzuje deserializację i walidację DTO naraz?
rozpocznij naukę
#[MapRequestPayload].
Jak Doctrine implementuje optymistyczne blokowanie?
rozpocznij naukę
Kolumną #[Version] na encji - flush() rzuca OptimisticLockException, jeśli wersja w bazie nie zgadza się z wczytaną.
Co to jest UnitOfWork w Doctrine?
rozpocznij naukę
Wewnętrzny mechanizm śledzący wszystkie zarządzane encje i ich zmiany, który przy flush() oblicza changeset i generuje odpowiednie zapytania SQL.
Czym różni się owning side od inverse side relacji w Doctrine?
rozpocznij naukę
Owning side ma kolumnę z kluczem obcym i to ona decyduje o zapisie do bazy, inverse side (mappedBy) tylko odzwierciedla relację i sama w sobie nic nie zapisuje.
Do czego służy mappedBy, a do czego inversedBy w Doctrine?
rozpocznij naukę
mappedBy ustawia się po stronie inverse i wskazuje nazwę właściwości po stronie owning, inversedBy ustawia się po stronie owning i wskazuje właściwość po stronie inverse.
Co robi opcja cascade w mapowaniu relacji Doctrine?
rozpocznij naukę
Automatycznie propaguje operację (np. persist, remove) z encji nadrzędnej na powiązane encje, bez ręcznego wołania jej na każdej z osobna.
Co robi orphanRemoval: true w Doctrine?
rozpocznij naukę
Usuwa z bazy powiązaną encję, gdy zostanie odłączona od kolekcji rodzica, nawet bez jawnego remove().
Czym różni się lazy loading od eager loading w Doctrine?
rozpocznij naukę
Lazy loading przez proxy dociąga relację dopiero przy pierwszym dostępie, eager loading (JOIN FETCH) pobiera ją od razu w tym samym zapytaniu.
Jak jawnie owinąć kilka operacji w transakcję w Doctrine?
rozpocznij naukę
entityManager->wrapInTransaction(closure) albo ręcznie beginTransaction()/commit()/rollback() - sam flush() już działa wewnątrz jednej transakcji.

Musisz się zalogować, by móc napisać komentarz.