CI框架扩展自定义控制器的方法】的更多相关文章

扩展CI中的控制器 有时需要对CI中的控制器作统一操作,如进行登录和权限验证,这时就可以通过扩展CI控制器来实现. 扩展CI控制器只需要在application/core文件夹中建一个继承自CI_Controller类的MY_Controller类即可,然后在这个类中实现自己需要的逻辑. 关于上面这句话,有两点需要解释一下: 1.为什么要在application/core文件夹中:是因为基类CI_Controller是在system/core文件夹中,这里需要跟system中对应. 2.为什么扩…
原文 UWP 扩展/自定义标题栏的方法,一些概念和一些注意事项 在 Windows 10 的前几个版本中将页面内容扩展到标题栏上还算简单,主要是没什么坑.直到一些新控件的引入和一些外观设计趋势变化之后,扩展标题栏开始出现一些坑了. 本文将重温 UWP 自定义标题栏或者扩展标题栏的方法,但更重要的是解决一些坑. 本文内容 扩展/自定义标题栏 一些概念 一些坑 控件在标题栏区域无法交互 更高的标题栏,或者被遮挡 在什么时机调用? 适配移动设备 参考资料 扩展/自定义标题栏 要扩展标题栏,只需要拿到 …
CI框架不支持像yii2框架那样,可以直接在controllers下创建CommonController并继承父类,那么我们想要做登录控制或权限控制时,直接在父类控制器操作是不合理的. 这时比较方便的方法就是扩展父类的CI_Controller. 一.创建自定义的父类控制器 在core目录下创建一个自定义类,以MY_为前缀,如MY_Controller,注意这个前缀不能随意填写,受到config.php中配置的约束,并让MY_Controller继承CI_Controller <?php def…
昨天在写代码的时候,看见写了无数次的模版渲染方法:$this->display(),突然很想弄清楚它是如何实现的. 今天不忙,就分析了一下. class TestController extends HomebaseController { public function judge(){ ...... $this->display("xxxxxxx"); } } 1.这是调用了父类的display方法,看一下HomebaseController有没有此方法,发现有, cl…
要想自定义view文件夹的位置,首先要了解CI框架时如何加载view文件夹的. CI中默认调用view的方法是: $this->load->view(); //这一行代码的原理是什么呢?请往下看: 我们打开application/core/Loader.php,里面有一个这样的方法: public function add_package_path($path, $view_cascade = TRUE) { $path = rtrim($path, '/').'/'; array_unshi…
我直接把代码摆在这里分享哈 <?php /** * * Created by JetBrains PhpStorm. * User: lsl * Date: 14-1-8 * Time: 下午2:55 * To change this template use File | Settings | File Templates. */ define("QUERY_KEY", 1); define("QUERY_INDEX", 2); define("Q…
基础的东西就不写了,网上大把的教程,可以慢慢磨.这里说些要注意的要点. 1.所有控制器都必须间接或者直接继承控制器基类 CI_Controller. 2.文件命名尽量小写,因为ci使用的是pathinfo,浏览器大小写敏感. 3.$this->load->view('user');  可以加载 名为user的视图,$this->load->view('user/index') 加载在user文件夹下的index视图文件. 4.与控制器名同名的为构造函数,默认会被调用,并非想实现这样…
CodeIgniter 定义默认控制器 当你的网站不存在某个URI 或者 用户直接从根目录访问的时候,CodeIgniter 会加载默认控制器. 打开 application/config/routes.php 文件来设置默认控制器 并添加下面两行代码,并删除 $route 数组中的其他代码.$route['default_controller'] = "welcome";//修改默认控制器 同时能够为控制器添 加目录$route['default_controller'] = 'pa…
下面是DB_Query_Builder.php中,各个方法的声明: 选择字段(select) public function select($select = '*', $escape = NULL) 求字段最大值和最小值(select_max,select_min) public function select_max($select = '', $alias = '') public function select_min($select = '', $alias = '') 求字段平均值.…
一般认为List只有转换为DataTable后才能充当CombBox的数据源,其实不然: List<SYS_COMMANDS> comdList = _menuMan.Load(c => c.FATHER_ID == null).OrderBy(c=>c.VAL_DISPLAYORDERID).ToList(); //句首类型换成var也可以 SYS_COMMANDS sys = new SYS_COMMANDS(); //添加非数据库内容的自定义记录 sys.SYS_COMMAN…
当我重新接触一个框架的时候首先肯定要去掉入口文件,也就是index.php 这个东西在url上很不漂亮,而且每次我访问我的网站的时候都要打进去url里面.这样告诉一个去掉 CI框架里面入口文件的方法,其实也就是添加一个重定向操作.很多框架的操作的大同小异. 言归正转…. 1. LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉. 搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该…
今天在win下开发,使用ci框架,本来是没有任何问题,然后转向了mac上开发,结果出现了个奇葩的问题,就是在ci框架中,控制器命名以"Admin_"为前缀的,在url中,控制器也必须是“a”大写,现在也没有深入到框架中去了解这个问题,等到有时间去看看到底框架中藏了个什么样的问题,或者是框架本身的一个bug…
在 CI 框架中,一个 URL 和它对应的控制器中的类以及类中的方法是一一对应的,如: www.test.com/user/info/zhaoyingnan 其中 user 对应的就是控制器中的 user 类,而 info 则对应 user 类中的 info 方法,zhaoyingnan 则是传递的参数 如果我不想 用 www.test.com/user/info/zhaoyingnan 这个 URL, 而是改成 www.test.com/member/zhaoyingnan, 此时就需要一个自…
在CI框架下面实现了自定义菜单功能.写了一个model,一个类库.顺便附带access_token的实现方式 <?php class Makemenu{ public $menustr; public function __construct(){ } public function init(){ $this->dolist(); return $this->setmenu(); } private function dolist(){ $CI =& get_instance(…
CI框架简单使用方法 1.回忆MVC 1.1.M:模型,提供数据,保存数据 1.2.V:视图,只负责显示,表单form 1.3.C:控制器,协调模型和视图 1.4.action:动作,是控制器中的方法,用于被浏览器请求 2.CI中的MVC CI简介:CodeIgniter是一个轻量级但功能强大的php框架,基于MVC的设计模式.提供了一套丰富的类库 2.1.访问的url使用的pathinfo 2.2.格式:入口文件/控制器/动作(默认pathinfo格式) 2.3.application目录:…
这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot/yii 目录. 打开浏览器访问 http://127.0.0.1/yii/requirements/index.php,检测本地环境支持. 二.建立项目与目录介绍 在命令行环境,cd命令进入到 Yii 框架核心目录 /wwwroot/yii/framework ,键入命令行: php yiic w…
CI修改如下: if($modle_file=config_item('modle_file')) { if ($modle_file === TRUE) { $modle_file=config_item('modle_type'); $MOF=& load_class('Newfile','core'); //$MOF->createModule($modle_file); //创建文件加载类 $MOF->createModule(); } } <?php /** * 这是一…
CI框架允许你在不修改系统核心代码的基础上添加或者更改系统的核心功能(如重写缓存.输出等).例如,在系统开启hook的条件下(config.php中$config['enable_hooks'] = TRUE;),通过添加特定的钩子,可以让系统在特定的时刻触发特定的脚本: $hook['post_system'] = array( 'class' => 'frameLog', 'function' => 'postLog', 'filename' => 'post_system.php'…
今天部署了ci框架,想用用它.创建别的控制器没什么错误.但是我创建了一个Index控制器,并访问了index方法,报错了.但是直接在方法中写输出就没事.而且方法名称改为其他部位index的也能访问. 错误截图 我自己对ci框架理解不深,查看了他人博客.这里有访问链接 http://www.codeweblog.com/ci%E7%AD%89mvc%E6%A1%86%E6%9E%B6%E4%B8%AD%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E6%…
CodeIgniter框架版本:3.1.7 ,php版本:5.6.* ,mysql版本:5.6 在Ci框架中,可以在application/config/database.php中配置多个group,比如: 下面的代码分别定义了3个group,两个线上group分别是write和read,另外一个是offline的group,注意offline的group的ip和前两个group的ip是不一样的. <?php $active_group = 'write'; $query_builder = T…
CI框架当中并没有提供,类似tp框架中IS_POST,IS_AJAX,IS_GET的方法. 所有就得我们自己造轮子了.下面就介绍一下,如何定义这些判断请求的方法.其实很简单的. 首先打开constants.php,这是一个定义常量的文件.然后往文件里加上这几行代码. //定义请求数据的方法 define('IS_POST',strtolower($_SERVER["REQUEST_METHOD"]) == 'post');//判断是否是post方法 define('IS_GET',st…
CI框架同意你在不改动系统核心代码的基础上加入或者更改系统的核心功能(如重写缓存.输出等). 比如,在系统开启hook的条件下(config.php中$config['enable_hooks'] = TRUE;).通过加入特定的钩子,能够让系统在特定的时刻触发特定的脚本: $hook['post_system'] = array( 'class' => 'frameLog', 'function' => 'postLog', 'filename' => 'post_system.php…
一.以下是CI框架 1.把所有的要接收的字段放在数组中 例: 我要接收:id,name,age,mobile 等字段 $req = array('id','name','age','mobile'); 2.for循环判断即可 for($i = 0;$i < count($req);$i ++ ){ $j = $this->load->get_post($req[$i],true); if(empty($j)) exit($req[$i].' 为空'); $data[$i] = $j; }…
转自:Cad人生 链接:http://www.cnblogs.com/cadlife/p/3463337.html 题目:双击CAD对象,显示自定义对话框实现方法 内容粘贴如下: 主要是绑定两个事件:一个是 Application.DocumentManager.DocumentLockModeChanged ----- 该事件为文档锁定事件,一直在被监测中 一个是 Application.BeginDoubleClick ----- 该事件为应用程序的双击事件 class TlsApplica…
在将html页面整合到ci框架里面的时候,载入css和js失败. 原因是ci框架是入口的框架 对框架中文件的全部请求都须要经过index.php处理完毕,当载入外部的css和js文件的时候要使 用base_url()函数处理外部的链接. 在控制器中须要先加载url相关的类 public function test() { $this->load->helper('url'); $this->load->view('admin/test'); } 在test.php的view视图中.…
使用CI框架的朋友,应该都知道CI框架的的验证码辅助函数,不太好用.它需要写入到数据库中,然后再进行比对. 大家在实际项目中,好像不会这样去使用,因为会对数据库造成一定的压力. 所以,我们还是利用session来临时存储验证码,比较的稳妥. 下面附上验证码类的代码.这个类是放在libraries这个库文件夹下. <?php /** * 验证码类 */ class Code{ //资源 private $img; //画布宽度 public $width = 150; //画布高度 public…
笔者认为,CI框架官方其实并没有考虑这个前后台分离的问题,所以没有官方的分离方法.而且,2.0版本的分离,也被官方认为这是一个bug.所以在前后台分离这个问题上,其实并不如thinkphp框架. 在CI框架2.0版本时的,大多数人认为可以这样做,前后台分离是可以直接在controller下,分admin和home目录的. 这是2.0版本时 其实,今天我用的是3.0版本的CI框架.在前后台分离这个问题,我也纠结了比较久.但是为了项目结构目录的清晰,还是要做前后台分离的. 我大概是做了这样一个分离.…
TP框架的访问控制,默认模块.控制器.方法等 在tp框架中,config文件夹下的app.php文件可以设置默认的空模块名,默认的空控制器名. 举例:以上项目中有admin.common.api.error.http.index.install(安装完成应删除)等模块,若访问到一个不存在的模块,则路由会跳到index模块里. 例如:项目域名为www.test.com   访问:www.test.com/abc/index       由于项目中不存在abc模块,所以路由会自动跳转到www.tes…
一.问题描述 出现问题的链接: http://adm.apply.wechat.com/admin/index.php/order/detail?country=others&st=1&order_id=59de1481875cb2430 进入以上页面,点击"Download"按钮 页面报错,没法下载 二.问题分析 1.初步分析 通过查看相关代码可以了解到文件下载的过程如下: 取到下载链接中的mid参数 对mid先后进行url解码和base64解码 将解码后的字符串按&…
ci框架开发商城1 1/28/2016 9:43:52 PM userguide删除 system application controllers 控制器 models 模型 views 视图 模板 cache缓存目录 config配置文件目录 core 核心库扩展目录 errors 错误页面文件夹 helpers 自定义辅助函数文件夹 hooks钩子文件目录 libraries 自定义库文件夹 类文件 logs日志 third_party第三方库 如smarty CI命名规范 控制器 类和方法…