Здравствуйте!
Вот класс:
<?php namespace Src;
/**
* Class Utm
* @package Src
*/
class Utm
{
private $session = [];
/**
* Utm constructor.
* @param $request
* @param $session
*/
public function __construct(Array $request, &$session)
{
$this->session = $session;
$this->session['utm'] = $this->parseUtm($request);
}
/**
* @param $request
* @return array
*/
private function parseUtm(Array $request)
{
if(!empty($request))
return array_filter($request, function($key) {
return in_array($key, ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content']);
}, ARRAY_FILTER_USE_KEY);
}
/**
* @return array
*/
public function getUtm()
{
return isset($this->session['utm']) ? $this->session['utm'] : [];
}
/**
* Destroy session utm
*/
public function destroyUtm()
{
if(isset($this->session['utm'])) {
unset($this->session['utm']);
}
}
}
Стартую так
session_start();
use Src\Utm;
$utm = new Utm($_REQUEST, $_SESSION);
$utm->getUtm();
Конкретно не работает на этапе передаче по ссылке, может что не так делаю?
$_SESSION['test'] = 'test'; работает.
Спасибо!