Inicializar una sesión nueva o mediante un session_id

Código PHP

PHP – Session – Inicializar sesión

Función que inicializa una sesión nueva para poder guardar valores de sessión. También puede cargar una sesión determinada mediante un session_id.

/**
 * Class HelperSession
 */
abstract class HelperSession
{

    /**
     * Inicia una sessión
     *
     * @param string|null $session_id
     */
    public static function init($session_id = null): void
    {
        /*  Comprobar que no haya una sesión ya iniciada */
        if (session_status() == PHP_SESSION_NONE) {
            if (!empty($session_id)) {
                session_id($session_id);
            }
            session_start();
            return;
        }
        if (!empty($session_id) && $session_id != session_id()) {
            session_destroy();
            session_id($session_id);
            session_start();
        }
    }
}