gpt4 book ai didi

php - Codeigniter: HELPERS 和 $CI =& get_instance();

转载 作者:行者123 更新时间:2023-12-04 05:21:14 25 4
gpt4 key购买 nike

我有一些功能可以管理 Controller 文件中某个 Controller 的访问级别。

我决定带他们去图书馆或 helper 。

由于它们主要是程序性的,我决定使用助手。

这是 Controller 文件中的原始方法(其他是 access_level_member、access_level_moderator 等)

  function access_level_admin() {

if (!$this->session->userdata('loggedin')) {
$this->session->set_flashdata('warning', 'Not logged in.');
redirect('/start_page', 'refresh');
}
if (!$this->session->userdata('admin')) {
$this->session->set_flashdata('warning', 'Access Denied!');
redirect('/start_page', 'refresh');
}

这是它和一个 helper 。
function access_level_admin() {
$CI =& get_instance();
if (!$CI->session->userdata('loggedin')) {
$CI->session->set_flashdata('warning', 'Not logged in.');
redirect('/start_page', 'refresh');
}
if (!$CI->session->userdata('admin')) {
$CI->session->set_flashdata('warning', 'Access Denied!');
redirect('/start_page', 'refresh');
}

所以我的问题是,将它放在库或助手中是否更好,并且可以使用 $CI =& get_instance();一个 helper 内。

有什么更好的想法或建议吗?

最佳答案

我会将逻辑放在父 Controller 中,并让您的 Controller 扩展它。

class Authenticated_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
if (!$this->session->userdata('loggedin')) {
$this->session->set_flashdata('warning', 'Not logged in.');
redirect('/start_page', 'refresh');
}
}

class Admin_Controller extends Authenticated_Controller {
public function __construct() {
parent::__construct();
if (!$this->session->userdata('admin')) {
$this->session->set_flashdata('warning', 'Access Denied!');
redirect('/start_page', 'refresh');
}
}

关于php - Codeigniter: HELPERS 和 $CI =& get_instance();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13667733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com