use Psr\Log\LoggerInterface;
use BagOStuff;
+use Psr\Log\NullLogger;
/**
* Adapter for PHP's session handling
/** @var bool */
protected $warn = true;
- /** @var SessionManager|null */
+ /** @var SessionManagerInterface|null */
protected $manager;
/** @var BagOStuff|null */
/** @var array Track original session fields for later modification check */
protected $sessionFieldCache = [];
- protected function __construct( SessionManager $manager ) {
+ protected function __construct( SessionManagerInterface $manager ) {
$this->setEnableFlags(
\RequestContext::getMain()->getConfig()->get( 'PHPSessionHandling' )
);
/**
* Install a session handler for the current web request
- * @param SessionManager $manager
+ * @param SessionManagerInterface $manager
*/
- public static function install( SessionManager $manager ) {
+ public static function install( SessionManagerInterface $manager ) {
if ( self::$instance ) {
$manager->setupPHPSessionHandler( self::$instance );
return;
/**
* Set the manager, store, and logger
* @private Use self::install().
- * @param SessionManager $manager
+ * @param SessionManagerInterface $manager
* @param BagOStuff $store
* @param LoggerInterface $logger
*/
public function setManager(
- SessionManager $manager, BagOStuff $store, LoggerInterface $logger
+ SessionManagerInterface $manager, BagOStuff $store, LoggerInterface $logger
) {
if ( $this->manager !== $manager ) {
// Close any existing session before we change stores
}
// Anything deleted in $_SESSION and unchanged in Session should be deleted too
// (but not if $_SESSION can't represent it at all)
- \Wikimedia\PhpSessionSerializer::setLogger( new \Psr\Log\NullLogger() );
+ \Wikimedia\PhpSessionSerializer::setLogger( new NullLogger() );
foreach ( $cache as $key => $value ) {
if ( !array_key_exists( $key, $data ) && $session->exists( $key ) &&
\Wikimedia\PhpSessionSerializer::encode( [ $key => true ] )