热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

thinkphp项目目录结构详解

为什么80%的码农都做不了架构师?在上一节无忧主机(www.51php.com)小编和大家讲了thinphp3.0的主入口文件,不知大家是否还记得

为什么80%的码农都做不了架构师?>>>   hot3.png

在上一节无忧主机(www.51php.com)小编和大家讲了thinphp 3.0的主入口文件,不知大家是否还记得我们第一次执行主入口文件后,我们的项目目录下自动生成了很多文件夹,这个就是我们项目的结构,小编今天就给大家详细的讲下这些目录是做什么的,里面放的是什么文件。因为小编是在本地搭建的php虚拟主机环境,我直接在本地把目录结构截图下来,

thinkphp项目目录结构详解 image00128 150x150

在上图中,我们可以看到六个目录,下面我来详细的讲下每个目录的作用。

Lib目录:这是最重要的一个文件夹Lib,里面放的是我们项目的控制器和模型,如下图中的…/lib/Action就是我们的控制器目录,我们可 以在里面看到一个默认的控制器(IndexAction.class.php),…/lib/libModel是我们的模型目录,关于控制器和模型还有视 图大家不理解没关系,无忧主机(www.51php.com)小编会在后面详细讲到。

 Common目录:这个目录是项目公共文件目录,一般用来放置项目的公共函数,

 Tpl目录:这是项目模板目录,模板其实就是我们的视图,在thinkphp里面是把html代码和php分离开来的,在模板(视图)里面通过标签的方式来调取我们分配的变量,就像dedecms内容管理系统一样,大家还记得无忧主机(www.51php.com)小编前面和大家讲的dedecms仿站基础模版标签吗?呵呵,原理是一样的。

Conf目录:这个目录是放项目的所有配置文件,比如我们的数据库配置信息,网站版权信息等等。Lang目录:哈哈,我有理由相信大家都很熟悉了吧,对,这个是语言包目录,如果你的项目不需要多语言支持,我们可以把这个目录删除。

Runtime目录:这个是项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数 据目录)和Logs(日志文件)子目录,如果存在分组的话,则首先是分组目录。除了这六个目录,我们还可以部署自己的目录,比如说我们网站项目的公共资源 (css,js,image等)可以定义为Public,网站的上传目录我们可以定义为Uploads,作为用户上传的统一目录。如果大家有更好的部署计 划,就按照自己的思路去部署,但thinkphp帮我们生成的那六个目录确实统一规定的。好了,目录结构就讲到这里,我们下节开始学习控制器!

 


转:https://my.oschina.net/myroot/blog/97933



推荐阅读
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • DSP中cmd文件的命令文件组成及其作用
    本文介绍了DSP中cmd文件的命令文件的组成和作用,包括链接器配置文件的存放链接器配置信息、命令文件的组成、MEMORY和SECTIONS两个伪指令的使用、CMD分配ROM和RAM空间的目的以及MEMORY指定芯片的ROM和RAM大小和划分区间的方法。同时强调了根据不同芯片进行修改的必要性,以适应不同芯片的存储用户程序的需求。 ... [详细]
  • 深入理解Java虚拟机的并发编程与性能优化
    本文主要介绍了Java内存模型与线程的相关概念,探讨了并发编程在服务端应用中的重要性。同时,介绍了Java语言和虚拟机提供的工具,帮助开发人员处理并发方面的问题,提高程序的并发能力和性能优化。文章指出,充分利用计算机处理器的能力和协调线程之间的并发操作是提高服务端程序性能的关键。 ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • fileuploadJS@sectionscripts{<scriptsrc~Contentjsfileuploadvendorjquery.ui.widget.js ... [详细]
  • Android系统启动过程分析一、Android平台架构首先贴一张Android系统架构图方便理解整个Android架构,这可以让我们从整体上对整个启动流程有个大概认知。可以看出整 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 动量|收益率_基于MT策略的实战分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于MT策略的实战分析相关的知识,希望对你有一定的参考价值。基于MT策略的实战分析 ... [详细]
author-avatar
手机用户2502906281
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有