Звʼяжіть успадкований додаток з сесіями Symfony
Дата оновлення перекладу 2022-11-25
Звʼяжіть успадкований додаток з сесіями Symfony
Якщо ви інтегруєте комплексний фреймворк Symfony в успадкований додаток, який
починає сесію з session_start()
, то вам все ще може вдатися використати
управління сесією Symfony, шляхом використання сесії PHP-мосту.
Якщо додаток має свій власний PHP обробник збережень, ви можете вказати
нуль для handler_id
:
1 2 3 4 5
# config/packages/framework.yaml
framework:
session:
storage_factory_id: session.storage.factory.php_bridge
handler_id: ~
В іншому випадку, якщо проблема просто в тому, що ви не можете уникнути
того, щоб додаток почав сесію з session_start()
, то ви все ще можете
використати обробник збереження сесій, заснований на Symfony, вказавши
обробник збережень як вказано у прикладі нижче:
1 2 3 4 5
# config/packages/framework.yaml
framework:
session:
storage_factory_id: session.storage.factory.php_bridge
handler_id: session.handler.native_file
Note
Якщо успадкований додаток вимагає власного обробника збережнь, не перевизначайте
його. Замість цього, встановіть handler_id: ~
. Відмітьте, що обробник збережень
не може бути змінений, коли сесія вже була розпочата. Якщо додаток запускає сесію
до ініціалізації Symfony, то обробник збережень вже буде встановлений. У такому
випадку, вам знадобиться handler_id: ~
. Перевизначайте обробник збережень лише
у тому випадку, якщо ви впевнені, що успадкований додаток може використовувати
обробник збережень Symfony без будь-яких ефектів, і в тому, що сесія не була
розпочата це до того, як була ініціалізована Symfony.
Щоб дізнатися більше, дивіться Інтеграція з успадкованими сесіями.