• ThinkPHP5项目目录


    ThinkPHP5安装后(或者下载后的压缩文件解压后)可以看到下面的目录结构:

    tp5├─application     应用目录
    ├─extend          扩展类库目录(可定义)
    ├─public          网站对外访问目录
    ├─runtime         运行时目录(可定义)
    ├─vendor          第三方类库目录(Composer)
    ├─thinkphp        框架核心目录
    ├─build.php       自动生成定义文件(参考)
    ├─composer.json   Composer定义文件
    ├─LICENSE.txt     授权说明文件
    ├─README.md       README 文件
    ├─think           命令行工具入口

    一般的信息管理项目中都分为前台和后台所以在application中一般新建admin和index两个文件夹,index文件夹一般在配置好环境后第一次运行index.php入口文件的时候会自动生成,而admin文件夹我们可以使用命令行的方式来生成。

    切换到命令行模式下,进入到应用根目录并执行如下指令:

    php think build --moudle admin

    就会生成一个admin模块,包括如下目录结构:

    ├─admin   │  ├─controller      控制器目录
    │  ├─model           模型目录
    │  ├─view            视图目录
    │  ├─config.php      模块配置文件
    │  └─common.php      模块公共文件

    同时也会生成一个默认的Index控制器文件。

    这样,整个项目的目录结构就变成了:

    ├─application           应用目录(可设置)
    │  ├─index              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  └─view            视图目录
    │  ├─admin              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录
    │  │  ├─model           模型目录
    │  │  └─view            视图目录 │  │ │  ├─command.php        命令行工具配置文件 │  ├─common.php         应用公共文件 │  ├─config.php         应用配置文件 │  ├─tags.php           应用行为扩展定义文件 │  ├─database.php       数据库配置文件 │  └─route.php          路由配置文件

    可以看出index和admin模块中都包含model、controller、和view三个文件夹,这三个文件夹分别存放MVC模式中的模型、控制器和视图文件。

    由于Model层存放的是模型,也就是与数据库中表内容相对应的类文件,而这部分数据库的操作在index和admin模块中都是需要的。所以我们将model文件夹放在Index和admin模块的外部,合二为一,这样index和admin就可以很方便的使用它了,从逻辑上也变得更清晰,现在,整个目录结构变这样:

    ├─application           应用目录(可设置)
    │  ├─index              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录          
    │  │  └─view            视图目录
    │  ├─admin              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录           
    │  │  └─view            视图目录
    │  │
    │  ├─model              模型层            
    │  ├─command.php        命令行工具配置文件
    │  ├─common.php         应用公共文件
    │  ├─config.php         应用配置文件
    │  ├─tags.php           应用行为扩展定义文件
    │  ├─database.php       数据库配置文件
    │  └─route.php          路由配置文件

    为了实现数据与操作的分离,model层进一步细化为model层、logic层、service层,这些默认是放在某个模块下的,如在index模块中logic层默认的目录是index/logic,这样ThinkPHP才能找到它,如果没找到它的话,ThinkPHP会到模块外部的Common文件夹中找它,service层也是这样的,如果我们想index和admin两个模块都使用它们,那么我们需要把它们放在applicationcommon文件夹中,这就需要在application中新建一个common文件夹。现在目录结构变成这样:

    ├─application           应用目录(可设置)
    │  ├─index              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录          
    │  │  └─view            视图目录
    │  ├─admin              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录           
    │  │  └─view            视图目录
    │  │
    │  ├─model              模型目录
    │  ├─common             公共目录
    │  │  ├─logic       逻辑层
    │  │  ├─service       服务层            │  ├─command.php        命令行工具配置文件 │  ├─common.php         应用公共文件 │  ├─config.php         应用配置文件 │  ├─tags.php           应用行为扩展定义文件 │  ├─database.php       数据库配置文件 │  └─route.php          路由配置文件

    由于在ThinkPHP5中将模型验证也与模型分离了出来,放在每个模块下专门的validate文件夹中,而验证无论是前台或后台向数据库中写数据都是需要的,ThinkPHP查找它的方法与前述查找logic层的方法是一样的,
    先在本模块的validate文件夹中找它,如果找不到就调到本模块外层的common文件夹中寻找。同样地,我们将它放在模块外层的common文件家中。现在,目录变成如下的样子:
    ├─application           应用目录(可设置)
    │  ├─index              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录          
    │  │  └─view            视图目录
    │  ├─admin              模块目录(可更改)
    │  │  ├─config.php      模块配置文件
    │  │  ├─common.php      模块公共文件
    │  │  ├─controller      控制器目录           
    │  │  └─view            视图目录
    │  │
    │  ├─model              模型目录
    │  ├─common             公共目录
    │  │  ├─logic       逻辑层
    │  │  ├─service       服务层 
    │  │  ├─validate        模型验证          
    │  ├─command.php        命令行工具配置文件
    │  ├─common.php         应用公共文件
    │  ├─config.php         应用配置文件
    │  ├─tags.php           应用行为扩展定义文件
    │  ├─database.php       数据库配置文件
    │  └─route.php          路由配置文件

    参考文献:
    [1]ThinkPHP5.0快速入门
    [2]ThinkPHP5.0完全开发手册
    [3]ThinkPHP5.0入门实例教程
  • 相关阅读:
    HadoopDB:混合分布式系统
    分布式一致性
    Hadoop和RDBMS的混合系统介绍
    《Facebook效应》
    《程序员的思维修炼》
    KMP算法实现
    关于毕业季照片分享的思考
    SDN:软件定义网络
    退出域不能够重新加入域,郁闷呀
    ◆聚会时可以玩的游戏◆
  • 原文地址:https://www.cnblogs.com/fxwl/p/7170228.html
Copyright © 2020-2023  润新知