CI框架两个application共用同一套 model

    既然是要共用model文件,就要告诉系统去何处加载我们的模型文件。这个工作是在 Loader.php 这个类中完成的,所以就要修改默认的行为:    
  /**
     * List of paths to load models from
     *
     * @var array
     * @access protected
     */
    protected $_ci_model_paths        = array();

 1     /**
 2      * Constructor
 3      *
 4      * Sets the path to the view files and gets the initial output buffering level
 5      */
 6     public function __construct()
 7     {
 8         $this->_ci_ob_level  = ob_get_level();
 9         $this->_ci_library_paths = array(APPPATH, BASEPATH);
10         $this->_ci_helper_paths = array(APPPATH, BASEPATH);
11
12         //$this->_ci_model_paths = array(APPPATH);     //model的默认路径
13
14         $this->_ci_model_paths = array(FCPATH);        //修改 _ci_model_paths 为公共的/目标路径即可!
15
16         $this->_ci_model_paths = array(APPPATH, FCPATH);    //指定可以从 APPPATH 和 FCPATH 这两个目录下获取我们的模型文件!
17
18
19         $this->_ci_view_paths = array(APPPATH.‘views/‘    => TRUE);
20
21         log_message(‘debug‘, "Loader Class Initialized");
22     }
23
24     不建议直接修改源码,最好是对CI进行扩展!。
25     在application/core/创建一个 MY_Loader.php
26     但是要注意,因为是两个应用 前台和后台,所以在两个地方的 core 目录下都要有一份 MY_Loader.php 扩展!
27     <?php
28         defined(‘BASEPATH‘) OR exit(‘No direct script access allowed!‘);
29
30         class MY_Loader extends CI_Loader {
31             public function __construct() {
32                 parent::__construct();
33
34                 //指定可以从 APPPATH 和 FCPATH 这两个目录下获取我们的模型文件!
35                 $this->_ci_model_paths = array(APPPATH, FCPATH);
            或者:            $this->_ci_model_paths = array(COMMON_PATH);
39     }

与此类似的,要让网站支持多套 模板/皮肤 也要对该类进行扩展。对应的属性是:
/**
     * List of paths to load views from
     *
     * @var array
     * @access protected
     */
    protected $_ci_view_paths        = array();

 参考:http://blog.csdn.net/snow_finland/article/details/48464559 
时间: 2024-10-10 17:52:51

CI框架两个application共用同一套 model的相关文章

PHP的CI框架流程基本熟悉

CI框架是PHP的一个快速开发框架,我是目前的公司项目后台语言用的PHP,因为我做前端开发,需要用php去填充页面数据,所以就开始去了解这个框架,学习了一些php和数据库的东西,这篇文章先具体介绍CI框架吧我用的是CI2.0框架. 1.去codeIgniter的网站下载压缩包,网址:http://codeigniter.org.cn/download. 注意:下载2.0或者3.0可能有使用不同的方式.所以你需要看相对应的手册去了解.手册网址:http://codeigniter.org.cn/d

CI框架随笔

CI框架是使用php写的一套框架,读起来相对比较简单. 正常来说,CI有两个重要的文件夹,第一个是application,这个用户开发的代码存放地址,另外一个是system这个是真正CI源码的位置. CI的根目录下面的index.php 这个文件里面配置了需要关心的各个配置. 第一个是 ENVIRONMENT 这个环境变量,这个变量在后面的加载类的时候,指定到底调用哪个累文件,标准情况下一个是development开发,一个是production. define('ENVIRONMENT', i

CI框架

一.CI介绍 小巧,快速, 天下武功,无坚不破,唯快不破. Ci还是很受欢迎的. 学习CI还有一个好处,相比其他的一些php框架,更容易掌握.(源码和思想) 二.CI快速入门 1.获取与安装 直接上官网下载http://codeigniter.org.cn/ 将下载好的文件解压打网站根目录, 在页面中直接访问,输入如http://localhost/citest 看到此界面,表示安装成功.So easy! 2.定义自己的控制器和视图 在编写代码之前,要明确,我们的代码写在什么地方? 其中user

php CI框架基础知识

一. CI框架的MVC导图 二. CI框架目录文件介绍 (1)index.php  单入口         整个框架对外暴露的唯一访问文件 (2)application  应用文件(放置用户信息,用户控制器.用户模板等) application/cache            --->   缓存 application/config            --->   配置文件 application/controllers        --->   控制器 application/

关于PHP的CI框架

今天复习的CI框架,又重新写了一些关于CI 框架的琐碎 1.cakePHP,thinkPHP 2.CI框架CI中规定http://localhost/myci2/控制器名/方法名 http://localhost/myci2/welcome/index 3.MVC(model view controller 模型,视图,控制器) 4.设计模式(design pattern),使逻辑更清晰 5.route(路由) 6.redirect('这写的是跳转的路径'):重定向,不能传参,不支持第二个参数

CI框架浅析(二)

该文延续上篇文章: CI框架浅析(一) 在CI框架的核心库中,CodeIgniter.php负责加载所有需要的类库,第一个加载的是公共库 core/Common.php Common.php 负责加载以下公共方法: 方法名 注释 is_php($version) 判断$version是否小于或等于当前安装的PHP版本 is_really_writable($file) 判断该文件是否可写 load_class($class, $directory = 'libraries', $param =

php的CI框架相关数据库操作

在使用之前首先应该配置数据库的参数,详见文件application/config/database.php,里面包含主机名,登陆用户名,登录密码,数据库名,编码信息等. 在配置成功后,可以简单的调用:$this->load->database();进行数据库链接. 然后可以使用$this->db->query(),$this->db->insert()等方法对数据库进行相应sql操作,例如下面给出的包含CI框架封装查询特性的相关语句: $sql = "SELE

ci框架(一)

ci目录结构                                                                                    |-----system 框架程序目录 |-----core 框架的核心程序 |-----CodeIgniter.php 引导性文件 |-----Common.php 加载基类库的公共函数 |-----Controller.php 基控制器类文件:CI_Controller |-----Model.php 基模型类文件

CI框架中自定义view文件夹位置

要想自定义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