在很多情况下,框架类并不能满足项目的需求,这时候需要程序要自定义一些类,比如说基类等等,对比了TP框架,CI框架目前好像还没加入命名空间,这点TP做得比较好,不用特殊的处理就可以随便继承自定义的类,只要处理好命名空间就行,在没有加入命名空间的CI框架怎么办呢?

  思路:在入口文件做文章,这是在网上找到的办法;

  在入口文件加入自动加载的代码:

function __autoload($class) {if (strpos($class, 'CI_') !== 0) {@include_once(APPPATH . 'common/' . $class . EXT);}
}

  个人觉得这种方法很不错,那这是怎么实现的呢?

  • 因为CI框架类都会自带一个CI_作为类的前缀,因此只要自定义的类不要用CI_作为前缀是可以区分出来的,然后引入进来即可;
  • 代码如下:
// 自定义公共目录路径
define('COMMONPATH', APPPATH . 'common' . DIRECTORY_SEPARATOR);function __autoload($class) {if (strpos($class, 'CI_') !== 0) {@include_once(COMMONPATH . $class . '.php');}
}

  这样在common目录自定义的类就可以被继承了。

转载于:https://www.cnblogs.com/timothy-lai/p/6207267.html

学习CodeIgniter框架之旅(二)继承自定义类相关推荐

  1. 深度学习计算框架综述(二)计算框架的组成与设计要点

    本章主要介绍一个通用计算框架主要包含哪几个模块,以及这些模块的设计要点,建议大家阅读本章前,了解一下Protocol Buffer 以及 FlatBuffer 的概念及基本用法. 首先,我们先分析一下 ...

  2. XSS学习-XSS挑战之旅(二)

    前言:之前打XSS平台时,打到了第11关就没有继续了,现在有空了就继续打咯,再增加点关于XSS的知识. 第十一关 这关坑我好长时间,看了好多博客直接给说修改Referer,给截图中都有自带的Refer ...

  3. 自我学习SSM框架集成(二)

    手动SQL方式分页 一.首先来看看最重要的Page类. 首先我们让start默认为0,count=5.count为一页的容量,而令start为0,是如果浏览器访问不输入start参数就默认为从头开始浏 ...

  4. class unity 定义类_Unity 游戏框架搭建 2019 (二十五) 类的第一个作用 与 Obselete 属性...

    在上一篇我们整理到了第七个示例,我们今天再接着往下整理.我们来看第八个示例: #if UNITY_EDITORusing UnityEditor; #endif using UnityEngine; ...

  5. php自定义扩展函数,Laravel框架中扩展函数、扩展自定义类的方法

    一.扩展自己的类 在app/ 下建立目录 libraries\class 然后myTest.php 类名格式 驼峰 myTest 复制代码 代码如下: class myTest { public  f ...

  6. 【Spring】AOP(二)自定义来实现AOP

    主要是切面定义. 与[Spring]AOP(一)使用Spring的API接口不同的是:这种方式使用自定义来实现AOP,而不是调用Spring的API. 下面直接上例子.(与上一个例子的区别在于,增加了 ...

  7. php学习(四):CodeIgniter框架,仅次于Laravel的框架(CI 4)

    注意:CI 4 框架支持 print_r() + exit; 但不支持dd 输出, 这与TP, Laravel不同 1.coddeIgniter安装 1.创建CI项目 (1.CodeIgniter4 ...

  8. 使用 CodeIgniter 框架快速开发 PHP 应用(二)

    使用 CodeIgniter 框架快速开发 PHP 应用(二) 原文:使用 CodeIgniter 框架快速开发 PHP 应用(二) 二分钟: 建立一个 CodeIgniter 网站 用CI建一个网站 ...

  9. HALCON学习之旅(二)

    HALCON学习之旅(二) 文章目录 HALCON学习之旅(二) 1.HALCON用户界面操作符 2.HACLON基础语法 ①.运算符 ②.Tuple数组 ③.字符数字格式化 1.HALCON用户界面 ...

最新文章

  1. 圣朱妮佩洛|San Junipero(2)
  2. 内存数据库MemSQL ——基于内存,MVCC+哈希表、跳表
  3. 一秒点击屏幕次数测试_安卓App性能专项测试流畅度深度解析
  4. 哈希表的key的类型(传值与传引用)
  5. java接口抽象方法_Java 接口 抽象类 抽象方法
  6. 搜索智能提示suggestion,附近地点搜索
  7. python web 文件管理_我的第一个python web开发框架(23)——代码版本控制管理与接口文档...
  8. SQLCel匹配原数据信息,更新原数据所有信息并插入新数据的过程
  9. 实例快速上手shell脚本
  10. mysql添加一个字段(
  11. java 锁优化_Java中锁优化
  12. jQuery ajax 文件上传携带附加参数
  13. 应用于兴发铝业的PARTsolutions ‒智能化的铝型材数据检索与借用
  14. 2020.9.8:Spring cloud :install时报错
  15. 用python怎么读文件_python怎么读文件
  16. 学习笔记4 环境试验箱的校准
  17. 猿创征文|从mysql 到kingbase(人大金仓)
  18. 解决Stm32出现..\HARDWARE\ADC\adc.c(22): error: #20: identifier ADC_InitTypeDef is undefined异常
  19. html果壳网文本框,打造你的个人网站:CSS来助你美化页面
  20. 吴章金: 实例解析 Linux C 语言程序之变量类型

热门文章

  1. 【已验证】帝国cms 里 栏目列表模板获取同级栏目
  2. 【Java】Java中String、StringBuilder、StringBuffer三者的区别
  3. Python数据类型之元祖
  4. 支付功能如何软件测试
  5. 对atexit函数的理解
  6. java 原子量_JAVA线程10 - 新特性:原子量
  7. 程序员是不是当代最好的职业?
  8. IT培训班到底有没有必要参加?
  9. 适合转HTML5大前端的5类人!有你吗?
  10. 【Java 编程】文件操作,文件内容的读写—数据流