- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些功能可以管理 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');
}
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');
}
最佳答案
我会将逻辑放在父 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/
在典型的单例中,构造函数在第一次调用 getInstance() 时被调用。我需要的是将 init 和 getInstance 函数分开。 init 函数必须创建实例 using constructo
浏览codeigniter的源码, 在它的辅助函数中,我不断看到代码$CI =& get_instance();谁能给我解释一下这段代码是如何工作的? 我知道它正在返回对 $CI super 对象的引
在 PHPStorm 中,通过向 config/autocomplete.php 添加一个包含属性的文件,我已经能够使用 Codeigniter 获得自动完成功能。 PhpStorm 能够读取此文件,
我发现这个有用的国际化代码: http://pastebin.com/SyKmPYTX 一切正常,除了我无法在此类中使用 CI 函数。 我想从 DB 设置 $languages 和 $special
这是我在 codeigniter 库文件夹中的自定义类 class Commonlib { public function __construct() {
我有一些功能可以管理 Controller 文件中某个 Controller 的访问级别。 我决定带他们去图书馆或 helper 。 由于它们主要是程序性的,我决定使用助手。 这是 Controlle
在 Codeigniter 中,get_instance()是一个全局可用的函数,它返回包含所有当前加载的类的 Controller 超对象(它返回 Controller 类实例)。我将包含当前的源代
我在/application/core 中有一个 Controller /application/core/CMS_Controller.php load->view('view'); } }
我的 codeigniter 网站在 php5.4 版本中运行正常,但是当我将我的 php 版本升级到 php5.6.30 时,它无法正常工作。 function &get_instance() {
我目前正在使用 Eclipse PDT 和 CodeIgniter,是否可以像这样获得 session 库的代码完成: $CI = &get_instance(); $CI->session->se
在下面的这个虚拟示例中,我想创建一个单例,我可以在其中保存在嵌入式微 Controller 上成本很高的 get_instance 调用。 #include template class Camel
我的 WordPress 网站出现 fatal error ,详情如下: Fatal error: Uncaught Error: Call to undefined method WP_Site_H
我是一名优秀的程序员,十分优秀!