私はグローバル変数を保存する必要があるウェブサイトを作っています。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