zoukankan      html  css  js  c++  java
  • ThinkPHP 多应用多模块建立方式

    ThinkPHP3.2.2及以后版本同一应用多模块和多应用多模块的设计已经比以前的版本更加简单快捷。

    注:入口文件为index.php,内容为:

    <?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.Apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',true); //定义项目名称 define('APP_NAME','Home'); // 定义应用目录 define('APP_PATH','./App/'); // 引入ThinkPHP入口文件 require './ThinkPHP/ThinkPHP.php'; // 亲^_^ 后面不需要任何代码了 就是如此简单
    一、同一应用多模块

    方法①

    最简单的方法就是此方法,直接在应用目录App下复制Home文件夹,改名为Admin,并修改控制器的应用空间即可,我就是用的此方法。

    访问两个模块的地址分别是:

    http://127.0.0.1:8080/Thinkphp5/index.php/或http://127.0.0.1:8080/Thinkphp5/index.php/Home http://127.0.0.1:8080/Thinkphp5/index.php/Admin
    方法②

    在入口文件所在目录新建一个文件admin.php。键入以下代码(和同目录index.php大体相同,只是修改了第7行)

    <?php // 应用入口文件 // 检测PHP环境 if(version_compare(PHP_VERSION,'5.3.0','<')) die('require PHP > 5.3.0 !'); // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True); define('BIND_MODULE','Admin'); // 定义应用目录 define('APP_PATH','./Application/'); // 引入ThinkPHP入口文件 require './ThinkPHP/ThinkPHP.php'; // 亲^_^ 后面不需要任何代码了 就是如此简单
    然后访问此php文件即可在App目录下自动新建一个Admin模块。

    访问两个模块的地址分别是:

    http://127.0.0.1:8080/Thinkphp5/index.php http://127.0.0.1:8080/Thinkphp5/admin.php
    二、多应用多模块

    在根目录新建相应的入口文件即可,指定项目名称和应用目录即可。

    三、继承公用配置代码的方法

    通常一个应用下的多个模块使用部分相同的配置代码,如何实现继承公用的配置文件呢?

    方法如下(公用代码以数据库配置代码‘DB_DSN’为例):

    在App目录下新建一个config,php文件,贴入以下多模块的公用代码

    <?php return array( //'配置项'=>'配置值' 'DB_PREFIX'=>'tp_', 'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp', ); ?>
    在每个模块单独的配置文件中这样写:

    <?php $arr=include './App/config.php'; $arr2=array( //'配置项'=>'配置值' //此处配置此模块私有的配置 ); return array_merge($arr,$arr2); ?>
    这样既可实现公用的配置代码。因为thinkphp的配置代码会返回一个数组,使用array_merge方法合并两个数组即可。

    四、本文手打,=_=,文章源地址:http://www.iiii.name/thinkphp-2015-2-16.html

  • 相关阅读:
    rand()和srand()关系很简单——一看就明白(通过一个可移植的源码)
    opencart配置mail服务
    dedecms mysql连接错误:#1040
    自动获取访客QQ
    apache虚拟目录设置
    在XAMPP上建立多个域名的站点
    QQ互联不能使用的通用解决方法
    织梦系统与discuz论坛整合方法
    DEDECMS整站复制
    DEDECMS模板中dede标签使用php和if判断语句的方法
  • 原文地址:https://www.cnblogs.com/thinkingthigh/p/5644515.html
Copyright © 2011-2022 走看看