Symfony

 0    72 schede    nowakowskilukasz12
Scarica mp3 Stampa Gioca Testa il tuo livello
 
Domanda język polski Risposta język polski
Co robi filtr raw w Twig?
inizia ad imparare
Wyłącza auto-escaping, analogicznie do {!!!} w Blade.
Jak działa Symfony Secrets Vault?
inizia ad imparare
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?
inizia ad imparare
Firewall - określa mechanizm uwierzytelnienia dla danego zakresu URL.
Co odpowiada za authorization na poziomie konkretnego obiektu w Symfony?
inizia ad imparare
Voter - sprawdza np. czy TEN user może edytować TEN konkretny post.
Czym jest access_control w security. yaml?
inizia ad imparare
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?
inizia ad imparare
affirmative - domyślna strategia w Symfony Security.
Jaki event HttpKernel odpala się jako pierwszy?
inizia ad imparare
kernel. request - tu działa routing, można od razu zwrócić Response.
Który event pozwala podmienić kontroler przed jego wywołaniem?
inizia ad imparare
kernel. controller.
Kiedy dispatchowany jest kernel. view?
inizia ad imparare
Tylko jeśli kontroler nie zwrócił obiektu Response (np. zwrócił tablicę/DTO).
Co robi listener na kernel. view w API?
inizia ad imparare
Zamienia wynik kontrolera na Response, np. serializuje tablicę do JsonResponse.
Który event to ostatnia szansa modyfikacji gotowego Response?
inizia ad imparare
kernel. response.
Kiedy dispatchowany jest kernel. terminate?
inizia ad imparare
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?
inizia ad imparare
W dowolnym momencie, gdy coś rzuci wyjątek.
Co zatrzymuje propagację do domyślnego error handlera w listenerze na kernel. exception?
inizia ad imparare
$event->setResponse().
Co robi autowire w services. yaml?
inizia ad imparare
Kontener sam odgaduje co wstrzyknąć w konstruktor na podstawie type-hintów.
Co robi autoconfigure w services. yaml?
inizia ad imparare
Automatycznie taguje serwis na podstawie implementowanych interfejsów.
Czy autowire i autoconfigure to ta sama funkcja?
inizia ad imparare
Nie - to dwie niezależne funkcje, można mieć jedną bez drugiej.
Dlaczego od Symfony 4 serwisy są domyślnie private?
inizia ad imparare
Wymusza jawne DI - nie da się ich pobrać bezpośrednio z kontenera z zewnątrz.
Kiedy publiczny serwis ma dziś sens w Symfony?
inizia ad imparare
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?
inizia ad imparare
Kontener rzuca błędem kompilacji, bo nie umie zgadnąć, którą wstrzyknąć.
Jak wskazać domyślną implementację interfejsu przy dwóch kandydatach?
inizia ad imparare
Aliasować ją w services. yaml, np. App\Contract\Gateway: '@App\Service\StripeGateway'.
Gdzie trafia skompilowany kontener Symfony?
inizia ad imparare
Do pliku w var/cache/{env}/.
Co to jest Compiler Pass?
inizia ad imparare
Klasa implementująca CompilerPassInterface: process(), modyfikująca definicje serwisów w trakcie kompilacji.
Kiedy Compiler Pass jest potrzebny mimo autoconfigure?
inizia ad imparare
Gdy trzeba zbiorczo połączyć otagowane serwisy z pełną kontrolą, np. sortowaniem po atrybucie tagu.
Gdzie rejestruje się Compiler Pass?
inizia ad imparare
W metodzie build(ContainerBuilder $container) w src/Kernel. php.
Czym dziś jest Bundle w rozumieniu Symfony Flex?
inizia ad imparare
Mechanizmem integracji dla paczek third-party, nie domyślnym sposobem organizacji własnego kodu.
Gdzie dziś leży kod własnej aplikacji Symfony?
inizia ad imparare
Po prostu w src/, bez owijania go w bundle.
Co robi Symfony Flex przy composer require symfony/mailer?
inizia ad imparare
Automatycznie dopisuje config/packages/mailer. yaml i zmienne do. env.
Która wartość wygrywa przy tej samej zmiennej w. env i. env. local?
inizia ad imparare
. env. local, bo pliki lokalne mają wyższy priorytet niż domyślne.
Który plik. env ma najwyższy priorytet ze wszystkich?
inizia ad imparare
Realne zmienne środowiskowe systemu.
Jaką metodę implementuje klasa dziedzicząca po Voter, by sprawdzić czy dotyczy danego atrybutu?
inizia ad imparare
supports(string $attribute, mixed $subject).
Jaka metoda Votera zwraca faktyczną decyzję dostępu?
inizia ad imparare
voteOnAttribute().
Jak rejestruje się Voter w kontenerze?
inizia ad imparare
Automatycznie dzięki autoconfigure, bo klasa dziedziczy po Voter.
Jaka metoda authenticatora sprawdza, czy powinien obsłużyć dany request?
inizia ad imparare
supports(Request):? bool.
Jaka metoda authenticatora buduje Passport z danymi logowania?
inizia ad imparare
authenticate(Request): Passport.
Co robi persist($entity) w Doctrine?
inizia ad imparare
Nie wykonuje żadnego SQL - tylko rejestruje obiekt jako zarządzany w UnitOfWork.
Co robi flush() w Doctrine?
inizia ad imparare
Oblicza changeset i wykonuje realne zapytania SQL w jednej transakcji.
Co to jest Identity Map w Doctrine?
inizia ad imparare
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?
inizia ad imparare
EntityManager rośnie w pamięci, bo trzyma referencje do wszystkich pobranych encji.
Czym rozwiązać rosnącą pamięć EntityManagera w workerze?
inizia ad imparare
Wołaniem entityManager->clear().
Co to jest proxy w Doctrine?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
Z porównania realnego schematu bazy z mapowaniem encji - encje są źródłem prawdy.
Co owija wiadomość w Symfony Messenger?
inizia ad imparare
Envelope, do którego doczepiane są Stamps (metadane).
Jak Symfony osiąga stały czas dopasowania trasy niezależnie od liczby tras?
inizia ad imparare
Kompiluje wszystkie trasy do jednej zoptymalizowanej struktury regex w cache.
Co robi #[MapEntity], gdy encja o danym ID nie istnieje?
inizia ad imparare
Rzuca NotFoundHttpException tłumaczone przez kernel. exception na 404.
Co realnie jest wyłączone w Symfony przy APP_ENV=prod?
inizia ad imparare
Sprawdzanie timestampów plików konfiguracyjnych przy każdym requeście.
Dlaczego zmiana services. yaml na produkcji Symfony nie działa bez cache: clear?
inizia ad imparare
Produkcyjny kontener to zamrożony, wygenerowany kod PHP w var/cache/prod/.
Jakiej komendy użyć, żeby wymusić przebudowę kontenera Symfony na produkcji?
inizia ad imparare
php bin/console cache: clear --env=prod.
Po co dodatkowo cache: warmup po deployu w Symfony?
inizia ad imparare
Żeby pierwszy request po deployu nie płacił kosztu budowania kontenera.
Jaka jest minimalna wersja PHP wymagana przez Symfony 6?
inizia ad imparare
PHP 8.1.
Jaka jest minimalna wersja PHP wymagana przez Symfony 7?
inizia ad imparare
PHP 8.2.
Co zastąpiły atrybuty PHP w Symfony 6+ względem starszych wersji?
inizia ad imparare
Adnotacje w komentarzach (@Route) - dziś standardem są natywne atrybuty #[Route].
Co to jest Symfony LTS (Long Term Support)?
inizia ad imparare
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?
inizia ad imparare
AssetMapper - natywne zarządzanie assetami bez bundlera.
Jakie są trzy sposoby definiowania tras w Symfony?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
Testy integracyjne serwisów z dostępem do kontenera, bez symulacji requestu HTTP.
Do czego służy WebTestCase w Symfony?
inizia ad imparare
Testy feature całych endpointów przez symulowany KernelBrowser.
Jak zalogować użytkownika w teście Symfony bez formularza?
inizia ad imparare
$client->loginUser($user).
Jak przetestować serwis zależny od EntityManagera bez realnej bazy?
inizia ad imparare
Mockując EntityManagerInterface albo używając bazy testowej SQLite in-memory.
Czy JWT stateless firewall w Symfony korzysta z sesji PHP?
inizia ad imparare
Nie - cała tożsamość jedzie podpisana w nagłówku Authorization każdego requestu.
Jaki atrybut Symfony automatyzuje deserializację i walidację DTO naraz?
inizia ad imparare
#[MapRequestPayload].
Jak Doctrine implementuje optymistyczne blokowanie?
inizia ad imparare
Kolumną #[Version] na encji - flush() rzuca OptimisticLockException, jeśli wersja w bazie nie zgadza się z wczytaną.
Co to jest UnitOfWork w Doctrine?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
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?
inizia ad imparare
entityManager->wrapInTransaction(closure) albo ręcznie beginTransaction()/commit()/rollback() - sam flush() już działa wewnątrz jednej transakcji.

Devi essere accedere per pubblicare un commento.