thinkphp model层外挪,以便多个站点可以通用

Posted yangcclug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp model层外挪,以便多个站点可以通用相关的知识,希望对你有一定的参考价值。

/Thinkphp/ThinkPHP.php  增加如下代码

//非原始代码
defined(‘BASE_LOGIC‘) or define(‘BASE_LOGIC‘, THINK_PATH . ‘../baselogic/‘);
defined(‘BASE_MODEL‘) or define(‘BASE_MODEL‘, THINK_PATH . ‘../basemodel/‘);

defined(‘BASE_SERVICE‘) or define(‘BASE_SERVICE‘, THINK_PATH . ‘../baseservice/‘);

 

/ThinkPHP/Library/Think/Think.class.php  增加如下代码

elseif(in_array($name, array(‘Model‘)) || is_dir(BASE_MODEL.$name)){
// 检测自定义命名空间 否则就以模块为命名空间
$namespace = C(‘AUTOLOAD_NAMESPACE‘);
$path = isset($namespace[$name])? dirname($namespace[$name]).‘/‘ : BASE_MODEL;
}elseif(in_array($name, array(‘Logic‘)) || is_dir(BASE_LOGIC.$name)){
// 检测自定义命名空间 否则就以模块为命名空间
$namespace = C(‘AUTOLOAD_NAMESPACE‘);
$path = isset($namespace[$name])? dirname($namespace[$name]).‘/‘ : BASE_LOGIC;
}elseif(in_array($name, array(‘Service‘)) || is_dir(BASE_SERVICE.$name)){
// 检测自定义命名空间 否则就以模块为命名空间
$namespace = C(‘AUTOLOAD_NAMESPACE‘);
$path = isset($namespace[$name])? dirname($namespace[$name]).‘/‘ : BASE_SERVICE;
}

 

/ThinkPHP/Mode/common.php 修改如下内容

config文件的加载

‘config‘ => array(
THINK_PATH.‘Conf/convention.php‘, // 系统惯例配置
CONF_PATH.‘config‘.CONF_EXT, // 应用公共配置
BASE_MODEL.‘Conf/config‘.CONF_EXT,
BASE_LOGIC.‘Conf/config‘.CONF_EXT,
BASE_SERVICE.‘Conf/config‘.CONF_EXT,
),

 

以上是关于thinkphp model层外挪,以便多个站点可以通用的主要内容,如果未能解决你的问题,请参考以下文章

Thinkphp3.2多站点共用S方法缓存

ThinkPHP 3.2 框架

thinkphp去掉index.php

thinkphp apache环境多条rewrite地址重写问题

在thinkphp中怎么进行三个表关联

ThinkPHP(结构,路由,模板的调用,后台搭建,系统常量)