Я создаю сайт, на котором мне нужно сохранить глобальную переменную.Codeigniter: Использование статической переменной
Я использую этот человек кодовая globals_helper.php custom global variable class
Но я всегда получаю статической переменной нулевое значение.
globals_helper.php:
<?php if (! defined('BASEPATH')) exit('No direct script access allowed');
// Application specific global variables
class Globals
{
private static $authenticatedMemberId = null;
private static $initialized = false;
private static function initialize()
{
if (self::$initialized)
return;
self::$authenticatedMemberId = null;
self::$initialized = true;
}
public static function setAuthenticatedMemeberId($memberId)
{
self::initialize();
self::$authenticatedMemberId = $memberId;
}
public static function authenticatedMemeberId()
{
self::initialize();
return self::$authenticatedMemberId;
}
}
Я сделал все шаги, как добавить globals_helper.php в хелперов папки и обновленный файл автозагрузки. Теперь я пытаюсь получить доступ к этим статической переменной из пользовательской библиотеки «Ctrl_utility» функция «get_search_term» и мои контроллеры вызова функции get_search_term
Ctrl_utility.php
class Ctrl_utility {
protected $CI;
public static $static_search = "";
public function __construct()
{
// Assign the CodeIgniter super-object
$this->CI =& get_instance();
}
public function get_search_term($searchTerm){
$searchTerm = $this->CI->security->xss_clean(htmlspecialchars($searchTerm));
if (isset($searchTerm) && strlen($searchTerm)>0) {
Globals::setAuthenticatedMemeberId($searchTerm);
} else {
$searchTerm = Globals::authenticatedMemeberId();
}
return $searchTerm;
}
Один мой контроллер и все они имеют класс ctrl_utility , get_search_term:
class Blog_controller extends CI_Controller{
public function __construct() {
parent::__construct();
$this->load->model('blogs_model');
}
public function index(){
//Get SearchTerm Values
$searchTerm = $this->ctrl_utility->get_search_term($this->input->post('searchTerm'));
//Get Url First Parameter
$start = $this->ctrl_utility->get_url_first_parameter();
// Get Data from solr
$rows = 10;
$data = $this->blogs_model->solrData($start, $rows, $searchTerm); //give start of documents
//Pagination
$this->pagination->initialize($this->ctrl_utility->pagination_config($this->uri->segment(1), $rows, $data['found']));
//Views
$this->load->view('tabs/blogs', $data);
}
}
Я что-то не так?
С какой ошибкой вы столкнулись? –
Когда я перехожу с одного контроллера на другой через кнопку, я не получаю статическое значение переменной, вызывая функцию класса Ctrl_utility get_search_term ($ searchTerm). – MTA