zoukankan      html  css  js  c++  java
  • Codeigniter夸应用调用model

    Thinkphp里面的model都是可以跨应用调用,ci本身没有实现这个方法。
    可是稍微修改下,比Thinkphp用起来更容易调用。
    找到Loader.php文件的地址/system/core/Loader.php
    找到后打开文件,找到这个类的初始化方法,大概在124行的位置开始。

    public function __construct()
        {
            $this->_ci_ob_level  = ob_get_level();
            $this->_ci_library_paths = array(APPPATH, BASEPATH);
            $this->_ci_helper_paths = array(APPPATH, BASEPATH);
            $this->_ci_model_paths = array(APPPATH);
            $this->_ci_view_paths = array(APPPATH.'views/'   => TRUE);
     
            log_message('debug', "Loader Class Initialized");
        }

    只需要修改几行代码就可以实现了。

    public function __construct()
    {
        $this->_ci_ob_level  = ob_get_level();
        $this->_ci_library_paths = array(APPPATH, BASEPATH);
        $this->_ci_helper_paths = array(APPPATH, BASEPATH);
     
        $paths = array('weixin/', 'application/');
        $paths = array_merge(array(APPPATH,), $paths);
        $paths = array_unique($paths);
        $this->_ci_model_paths = $paths;
     
        $this->_ci_view_paths = array(APPPATH.'views/'   => TRUE);
     
        log_message('debug', "Loader Class Initialized");
     
     
    }

    将几个应用的目录名写在$paths这个数组里面。
    最后$paths这个数组复制给_ci_model_paths这个成员变量就行了。
    ci在加载model的时候会循环这个数组下面的models文件,如果找到文件就会自动跳出
    这里稍微做了一下处理,以当前的调用文件的目录优先查找.

  • 相关阅读:
    关于http与https之间的区别
    成功解决react+webpack打包文件过大的问题(时间已久,不建议继续阅读)
    使用angularjs实现注册表单
    在jQuery中使用canvas时遇到的问题
    使用canvas实现绚丽的时钟特效
    HTML5中的DOM新特性
    JavaScript中DOM节点层次Text类型
    wx小程序 createRewardedVideoAd
    移动端项目构建 [笔记]
    wx 小程序 | textarea +
  • 原文地址:https://www.cnblogs.com/hubing/p/4047961.html
Copyright © 2011-2022 走看看