• 技术文章 >php框架 >ThinkPHP

    thinkphp3.1项目开发部署

    尚2020-05-28 09:36:03转载1596

    下载ThinkPHP 3.1.3 框架包解压后文件结构:

    ├─ Common 框架公共文件目录
    ├─ Conf 框架配置文件目录
    ├─ Extend 框架扩展目录
    ├─ Lang 框架系统语言目录
    ├─ Lib 系统核心基类库目录
    │ ├─ Behavior 内置行为类库
    │ ├─ Core 核心类库包
    │ ├─ Driver 内置驱动类库包
    │ │ ├─ Cache 内置缓存驱动
    │ │ ├─ Db 内置数据库驱动
    │ │ ├─ TagLib 内置标签驱动
    │ ├─ Template 内置模板引擎驱动
    ├─ Tpl 系统模板目录
    ├─ ThinkPHP.php 框架入口文件

    新建项目入口文件index.php

    <?php
    require './ThinkPHP/ThinkPHP.php';

    在浏览器中访问项目,页面显示:

    1.jpg

    此时项目目录 app下文件发生了变化,除了入口文件 index.php 和框架包,其他都是自动生成的:

    2.jpg

    各个文件夹作用:

    ├─ Common 项目公共文件目录
    ├─ Conf 项目配置目录
    ├─ Lang 项目语言包目录
    ├─ Lib 项目类库目录
    │ ├─ Action Action 类库目录
    │ ├─ Behavior 行为类库目录
    │ ├─ Model 模型类库目录
    │ ├─ Widget Widget类库目录
    ├─ Runtime 项目运行时目录
    │ ├─ Cache 模板缓存目录
    │ ├─ Data 数据缓存目录
    │ ├─ Logs 日志文件目录
    │ ├─ Temp 临时缓存目录
    ├─ ThinkPHP 框架目录
    ├─ Tpl 项目模板目录
    ├─ index.php 项目入口文件

    这种方式的入口文件 index.php 是存在项目目录之内。也可以入口文件移动到 app 目录的外面,修改入口文件 index.php :

    <?php
    //定义项目名称
    define('APP_NAME', 'Application');
    // 定义项目路径
    define('APP_PATH', './Application/');
    //加载框架入口文件
    require './ThinkPHP/ThinkPHP.php';

    目录结构:

    3.jpg
    项目部署方式分为两种,一种是应用部署,每一个项目对应一个入口文件,例如前台入口文件对应 index.php,后台入口文件对应 admin.php,这种项目部署是ThinkPHP推荐的方式;

    4.jpg

    前台入口文件:

    <?php
    define('APP_NAME', 'Home');
    
    define('APP_PATH', './Home/');
    
    require './ThinkPHP/ThinkPHP.php';

    后台入口文件:

    <?php
    define('APP_NAME', 'Admin');
    
    define('APP_PATH', './Admin/');
    
    require './ThinkPHP/ThinkPHP.php';

    另一种是模块分组部署是把所有的应用对应到一个入口文件,项目的模板文件还是放到项目的Tpl目录下面,只是将外部调用的资源文件, 包括图片Js和Css统一放到网站的公共目录Public下面,分Images、Js和Css子目录存放,如果有可能的话,甚至也可以把这些资源文件单独放一个外部的服务器远程调用,并进行优化。

    1.jpg

    模块分组需要配置APP_NAME和APP_PATH;

    在 WEB 根目录创建项目目录 App,并且拷贝框架包 ThinkPHP 至同级目录,同时在同级创建所有项目公共资源目录 Public、所有项目公共上传目录 Uploads 以及入口文件 index.php:

    6.JPG

    入口文件index.php:

    <?php
    define('APP_NAME', 'App');
    
    define('APP_PATH', './App/');
    
    //开启debug,不加载缓存文件
    define('APP_DEBUG', true);
    
    require './ThinkPHP/ThinkPHP.php';

    通过 url 访问 index.php ,初始化项目环境后,App 目录下自动生成的目录:

    7.jpg

    然后在App/Conf/config.php 配置文件中,配置分组选项:

    <?php
    return array(
        //'配置项'=>'配置值'
        'APP_GROUP_LIST' => 'Admin,Home',
        'DEFAULT_GROUP' => 'Home',
    );

    如果此时访问 index.php 入口文件,ThinkPHP 会报错:

    8.jpg

    因为在公共配置文件中开启了模块分组,但相应的分组目录并没有创建,需要手动创建 Admin 和 Home 组的各自配置文件:Conf 目录下创建 Admin 和 Home 目录。

    然后分别在目录中创建 config.php 配置文件;App/Lib/Action 目录也需要创建 Admin 和 Home 目录,然后将默认创建的 IndexAction.class.php 文件移动到 App/Lib/Action/Home 目录,此时访问入口文件不会报错,项目部署成功:

    9.jpg

    10.jpg

    如果隐藏入口文件,两者的url地址看起来几乎一样:

    11.jpg

    12.jpg

    推荐教程:《TP5

    以上就是thinkphp3.1项目开发部署的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:简书,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp
    上一篇:thinkPHP配置jwt(代码实例) 下一篇:thinkphp模型定义
    线上培训班

    相关文章推荐

    • 解析 ThinkPHP 的命名空间• thinkphp登录限制时__construct和_initialize的区别介绍• thinkphp中修改模板标签定界符的方法• THINKPHP中的AUTH权限管理介绍

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网