我正在一個網站,我必須保存一個全局變量。Codeigniter:使用靜態變量
我使用的這個人代碼globals_helper.php custom global variable class
但我總是得到靜態變量null值。
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