Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

643
Views
¿Cómo manejar las obsolescencias de Symfony 5.3?

Después de actualizar Symfony de 4.4 -> 5.3, obtengo algunas obsolescencias que no puedo encontrar para resolver.

Aquí hay 3 desaprobaciones como ejemplo:

 User Deprecated: Since symfony/framework-bundle 5.3: The "session.storage.factory.service" service is deprecated, use "session.storage.factory.native", "session.storage.factory.php_bridge" or "session.storage.factory.mock_file" instead. User Deprecated: Since symfony/security-core 5.3: The "Symfony\Component\Security\Core\Event\AuthenticationFailureEvent" class is deprecated, use "Symfony\Component\Security\Http\Event\LoginFailureEvent" User Deprecated: Since symfony/http-kernel 5.3: "Symfony\Component\HttpKernel\Event\KernelEvent::isMasterRequest()" is deprecated, use "isMainRequest()" instead.

Son solo 3 de más como 30 bajas. Mi pregunta es: ¿Cómo es la forma correcta de resolver estas advertencias? (Necesito resolver, porque tengo muchas solicitudes por minuto y cada vez que se escriben estas advertencias en dev.log, este archivo está explotando)

Quiero comenzar con la tercera advertencia. Aquí está el rastro:

 ../vendor/symfony/http-kernel/Event/KernelEvent.php:88 {▶} ../vendor/symfony/web-link/EventListener/AddLinkHeaderListener.php:41 {▶} ../vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 {▶} ../vendor/symfony/event-dispatcher/EventDispatcher.php:230 {▶} ../vendor/symfony/event-dispatcher/EventDispatcher.php:59 {▶} ../vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:151 {▶} ../vendor/symfony/http-kernel/HttpKernel.php:190 {▶} ../vendor/symfony/http-kernel/HttpKernel.php:178 {▶} ../vendor/symfony/http-kernel/HttpKernel.php:79 {▶} ../vendor/symfony/http-kernel/EventListener/ErrorListener.php:60 {▶} ../vendor/symfony/event-dispatcher/Debug/WrappedListener.php:117 {▶} ../vendor/symfony/event-dispatcher/EventDispatcher.php:230 {▶} ../vendor/symfony/event-dispatcher/EventDispatcher.php:59 {▶} ../vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php:151 {▶} ../vendor/symfony/http-kernel/HttpKernel.php:218 {▶} ../vendor/symfony/http-kernel/HttpKernel.php:90 {▶} ../vendor/symfony/http-kernel/Kernel.php:199 {▶} ../public/index.php:25 {▶}

Todos los archivos provienen directamente de Symfony, nada de mí, por eso mi pregunta por dónde empezar a resolver estas advertencias.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Ok, ahora estoy libre de obsolescencia, pero hay algunas cosas que hacer ahora después de actualizar de 4.4 a 5.3

Para encontrar todas las advertencias, creé un nuevo proyecto Symfony para comparar diferentes archivos.

  1. KernelEvent::isMasterRequest()" is deprecated, use "isMainRequest()

    eche un vistazo a su archivo src/Kernel.php - allí puede encontrar el método obsoleto

  2. The "session.storage.factory.service" service is deprecated

    abre tu framework.yaml y compáralo con el siguiente código. Tal vez te pueda ayudar:

     session: handler_id: session.handler.native_file save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%' # 2 Days lifetime (172800 seconds) cookie_lifetime: 172800 cookie_secure: 'auto' cookie_samesite: 'lax' #storage_id: session.storage.mock_file storage_factory_id: session.storage.factory.native
  3. The "Symfony\Component\HttpFoundation\Session\SessionInterface are deprecated

    Encontré esto en mi antiguo LoginAuthenticator ('App\Security...' por defecto). Reemplácelo con use Symfony\Component\HttpFoundation\RequestStack; Ahora puede inyectarlo y hacerlo disponible como $this->requestStack y luego cambiar todo $this->session con $this->requestStack->getSession() ¡Listo!

  4. La mayoría de las demás desaprobaciones están relacionadas con el nuevo sistema basado en autenticadores que se introdujo en Symfony 5.1. Tienes que editar tu security.yaml . Os muestro mis cambios:

     security: enable_authenticator_manager: true password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' providers: users_in_memory: { memory: null } app_user_provider: entity: class: App\Entity\User property: username firewalls: main: # default stuff provider: app_user_provider http_basic: ~ form_login: default_target_path: mission use_referer: true target_path_parameter: redirect_url login_path: login check_path: login entry_point: form_login access_denied_handler: App\Security\AccessDeniedHandler custom_authenticator: App\Security\CustomAuthenticator

    Para que las advertencias de autenticación sean más comprensibles, cree un nuevo CustomAuthenticator con el paquete maker. Ahora puede comparar su antiguo Autenticador con el nuevo y poner los nuevos métodos en su antiguo Autenticador. Hay algunos cambios que debes hacer.

Eso es todo. La mayoría de las depreciaciones deberían resolverse ahora.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!