【发布时间】:2016-07-20 07:12:38
【问题描述】:
我正在制作一个网站,我必须在其中保存一个全局变量。
我正在使用此人代码 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) 函数获得静态变量值。
标签: php codeigniter