php return 基类,CodeIgniter 基类的继承

开发一个总后台需要在基类里面判断session是否登陆,不可能在每一个控制器的构造方法里面挨个判断,所以就需要一个后台的基类来判断,每一个控制器继承这个基类。AdminBase 为应用后台的公用的控制器,在每一个应用后台控制器里面都来继承公共的AdminBase ,但是同时要确保AdminBase 也是继承CI_Controller的。

具体实现很简单,只要在application/core下面新建MY_Controller.php,代码如下

(MY_是可配置的,application/config/config.php 文件并找到这一项:$config['subclass_prefix'] = 'MY_';)<?php

/**

* 扩展 Controller

*/

class MY_Controller extends CI_Controller

{

function  __construct()

{

parent::__construct();

}

}

/**

* 后台管理基类

*/

class AdminBase extends MY_Controller

{

function  __construct()

{

parent::__construct();

/* 验证session是否登陆 */

$admin_sess = $this->session->userdata( 'admin' );

if ( isset( $admin_sess ) && $admin_sess['admin_id'] != '' )

{

/* Success Login ... */

}

else

{

error( '请登录后台', site_url() . '/AdminLogin/login' );

}

}

}

/**

* 会员基类

*/

class UserBase extends MY_Controller

{

function  __construct()

{

parent::__construct();

}

}

/**

* 前台基类

*/

class HomeBase extends MY_Controller

{

function  __construct()

{

parent::__construct();

}

}

然后在application/controllers里面的控制器就可以继承了,比如application/controllers/AdminIndex.php中<?php

defined('BASEPATH') OR exit('No direct script access allowed');

/**

* 管理后台主页

*/

class AdminIndex extends AdminBase

{

/**

* 构造方法

* @author Yusure  http://yusure.cn

* @date   2016-09-13

* @param  [param]

*/

public function __construct()

{

parent::__construct();

}

/**

* 后台主页

* @author Yusure  http://yusure.cn

* @date   2016-09-13

* @param  [param]

* @return [type]     [description]

*/

public function index()

{

$this->load->view( 'AdminIndex_index' );

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值