autoload:

进入ci框架核心目录core

打开load.php

找到_ci_autoloader方法

看到这样一段话

     // Autoload packagesif (isset($autoload['packages'])){foreach ($autoload['packages'] as $package_path){$this->add_package_path($package_path);}//print_r($this->_ci_library_paths);exit;//阿猛测试用}

这个数组$autoload['packages']即是配置文件中autoload.php中的配置,如:

$autoload['packages'] = array(BASEPATH.'../阿猛的共用项目library,model,helper');

这句话 就是自动加载一个目录。再来看CI里面的写法。

自动加载包路径:_ci_library_paths,_ci_model_paths,_ci_helper_paths,_ci_view_paths (CI的这4个路径都会先到上面的包里面去寻找)

 public function add_package_path($path, $view_cascade = TRUE){$path = rtrim($path, '/').'/';array_unshift($this->_ci_library_paths, $path);array_unshift($this->_ci_model_paths, $path);array_unshift($this->_ci_helper_paths, $path);$this->_ci_view_paths = array($path.'views/' => $view_cascade) + $this->_ci_view_paths;// Add config file path$config =& $this->_ci_get_component('config');$config->_config_paths[] = $path;return $this;}

在这里加个断点,打印下。可以看到加载情况。

Array
([0] => D:/x/web/framework/../lm/     //这句即是新配置的自动加载包[2] => D:\x\web\manage\application\[3] => D:/x/web/framework/
)

简而概之:

我们在控制器中load加载当前项目的library或者model又或者helper。

我想先从其他项目中加载这些类或helper。这时就需要用到上面的自动加载包路径功能

举例说明:

/项目A---------------------目录同CI项目完全一样

/项目B

/framework

/lm_autoload

其中lm_autoload是自动加载包路径,内容包括:

/lm_autoload/librarys

/lm_autoload/model/user_model.php

/lm_autoload/helper

这时我们在项目A和项目B都想调用共同的user_model类,就很方便的能做到了。

$this->load->model('user_model');//这里他们都会先去查找‘自动加载包路径’

同时也可以只调用自己项目下的包路径。而互不影响。我觉得这也是CI配置多项目的好方法。

配置多项目时,每个项目下的index.php文件需要修改下共用核心框架目录:

index.php

$system_path = '../framework/';

ci框架autoload机制,多项目配置共用molde、library、helper相关推荐

  1. [golang gin框架] 24.Gin 商城项目-redis讲解以及操作

    一.reids相关文章 Redis五种数据类型及其应用场景 REDIS中的缓存穿透,缓存击穿,缓存雪崩原因以及解决方案 redis实现用户签到,统计活跃用户,用户在线状态,用户留存率 [golang ...

  2. PHP CI框架目录结构及运行机制

    CI目录结构 CI主要组成部分为,application(应用文件夹).system(系统文件夹)和index.php入口文件. 应用文件夹中主要是存放控制器.模型和视图等,系统文件夹中主要是存放组成 ...

  3. php ci项目总结,分享关于php CI框架使用的一点小总结

    最近频繁使用CI框架,这里主要是关于后台的开发,重点分享关于Model和Controller层的一点点总结: 1.涉及到交互数据库,我们先在database.php总添加我们需要使用的数据库的连接信息 ...

  4. 教你学习CI框架codelgniter——CI框架基本配置

    CI 框架现在中国可以说还是不成熟,不像thinkphp那样有那么多的中文手册,在国内,很多国人英语都很烂,CI现在教程还是不多.大家心里都存在这严重想法,我想用CI,国外用的人很多,而且速度非常快, ...

  5. php ci hooks,CodeIgniter框架钩子机制实现方法【hooks类】

    本文实例讲述了CodeIgniter框架钩子机制实现方法.分享给大家供大家参考,具体如下: 记得上一次去到喜啦面试,面试官问我一个问题:codeigniter是如何实现钩子机制的? 当时答不上来,后来 ...

  6. kotlin框架Anko的使用及常用的项目配置

    kotlin框架Anko的使用及常用的项目配置 之前的几篇文章重复的讲了一些项目的基础配置,这一节就让我们把之前的那些抽取出来,单独的写一篇短文,之后的文章我们就直接使用这个配置就可以啦 创建我们的项 ...

  7. php ci框架 hook,CodeIgniter框架钩子机制实现方法【hooks类】

    本文实例讲述了CodeIgniter框架钩子机制实现方法.分享给大家供大家参考,具体如下: 记得上一次去到喜啦面试,面试官问我一个问题:codeigniter是如何实现钩子机制的? 当时答不上来,后来 ...

  8. 【CI3.1】CI框架简单使用方法

    CI框架简单使用方法 1.回忆MVC1.1.M:模型,提供数据,保存数据1.2.V:视图,只负责显示,表单form1.3.C:控制器,协调模型和视图1.4.action:动作,是控制器中的方法,用于被 ...

  9. **【ci框架】精通CodeIgniter框架

    http://blog.csdn.net/yanhui_wei/article/details/25803945 一.大纲 [php] view plaincopy 1.codeigniter框架的授 ...

最新文章

  1. 【翻译】HTML5开发——轻量级JSON存储解决方案Lawnchair.js
  2. 关联规则java代码_重量挖掘关联规则挖掘方法,哪个大神可以将以下伪代码转换为Java代码?...
  3. 【爱心代码大全】——情人节表白代码送给她属于我们程序员的浪漫
  4. jquery.tablesorter
  5. git简单使用(下篇)
  6. GEF:使用Draw2D画流程图-(下)
  7. Atitit hadoop使用总结 目录 1.1. 下载300m ,解压后800M 1 1.2. 二:需要的jar包 1 2. Demo code 2 2.1. WCMapper 2 2.2. WC
  8. 《Excel图表之道》学习与阅读启示(一)
  9. 苹果app(iOS app)比较常用的URL schemes,可以用于iOS应用间相互调用
  10. (原创)AP6212蓝牙模块在am335x控制板上的应用
  11. STM32CAN总线协议讲解
  12. Vultr能Ping通但SSH无法连接
  13. 数据结构(3)常见的树
  14. html怎么做下雨效果,Canvas制作的下雨动画的示例
  15. 异步(感应)电机概述
  16. 谷歌五笔输入法电脑版_新手学拼音还是学五笔打字(看完你就明白)
  17. excel这几大数据处理技巧,高效率操作技能,今天免费交给你!
  18. Vue实战电商系统-五商品管理
  19. 大面积无线WIFI覆盖 H3C WX3010E(AC+PoE三层交换机)+ H3C WA2620E、WA4320无线AP +华为USG6310S防火墙
  20. 天翼网关关闭 itv 网络

热门文章

  1. vue项目的文字及背景色配置
  2. Pytorch 中retain_graph的用法
  3. 企业品牌型网站建设的三点好处
  4. Unity 单侧拉伸物体
  5. 用MATLAB制作GIF
  6. 未备案域名使用Cloudflare进行301重定向
  7. 2022年上半年软考考试报名入口汇总(3月18日更新)
  8. 【Python应用探索笔记一】百度人脸检测与人脸比对
  9. 想做国外CPA广告联盟,准备好接受洗礼吧
  10. 【模板】 割点(割顶)