CI框架扩展系统核心类的方法分析
网络编程 2021-07-05 09:10www.168986.cn编程入门
这篇文章主要介绍了CI框架扩展系统核心类的方法,结合实例形式分析了CI框架实现扩展系统核心类的步骤与相关操作技巧,需要的朋友可以参考下
本文实例讲述了CI框架扩展系统核心类的方法。分享给大家供大家参考,具体如下
你系统扩展类是放在application/core狼蚁网站SEO优化的,本来系统核心类是CI_Controller,所以你不能以CI_开头了,你需要打开 application/config/config.php 修改
$config['subclass_prefix'] = 'MY_';
为你的前缀!
一些公共的模块就可以卸载自己的核心类里面了!
这几天读了Dilicms(轻量级的后台架构),比如说他的后台扩展类是这样的
<?php if ( ! defined('BASEPATH')) exit('No direct script aess allowed'); abstract class Admin_Controller extends CI_Controller { / _admin 保存当前登录用户的信息 @var object @aess public / public $_admin = NULL; / 构造函数 @aess public @return void / public function __construct() { parent::__construct(); $this->load->library('session'); $this->settings->load('backend'); $this->load->switch_theme(setting('backend_theme')); $this->_check_login(); $this->load->library('acl'); $this->load->library('plugin_manager'); } / 检查用户是否登录 @aess protected @return void / protected function _check_login() { if ( ! $this->session->userdata('uid')) { redirect(setting('backend_aess_point') . '/login'); } else { $this->_admin = $this->user_mdl->get_full_user_by_username($this->session->userdata('uid'), 'uid'); if ($this->_admin->status != 1) { $this->session->set_flashdata('error', "此帐号已被冻结,请联系管理员!"); redirect(setting('backend_aess_point') . '/login'); } } } / 加载视图 @aess protected @param string @param array @return void / protected function _template($template, $data = array()) { $data['tpl'] = $template; $this->load->view('sys_entry', $data); } / 检查权限 @aess protected @param string @return void / protected function _check_permit($action = '', $folder = '') { if ( ! $this->acl->permit($action, $folder)) { $this->_message('对不起,你没有访问这里的权限!', '', FALSE); } } / 信息提示 @aess public @param string @param string @param bool @param string @return void / public function _message($msg, $goto = '', $auto = TRUE, $fix = '') { if($goto == '') { $goto = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : site_url(); } else { $goto = strpos($goto, 'http') !== false ? $goto : backend_url($goto); } $goto .= $fix; $this->_template('sys_message', array('msg' => $msg, 'goto' => $goto, 'auto' => $auto)); echo $this->output->get_output(); exit(); } }
它就把一些公共信息入验证,登陆,跳转放在Admin_Controller里面,于是我在写前台的时候也是这样操作,扩展了Font_Controller:
abstract class Font_Controller extends CI_Controller{ public function __construct() { parent::__construct(); } //前台加载视图方法 public function _template($template, $data = array()){ $data['nav'] = $this->get_nav(); $data['tpl'] = $template; $this->load->view('default',$data); } //公共导航信息 public function get_nav(){ } //公共友情链接信息 public function get_friendlink(){ } }
提示,一些经常用到得工具和函数可以放在helper中!
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程