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

ThinkPHP笔记_ThinkPHP的结构

单一入口:指一个项目或者应用具有一个统一但并不一定是唯一的入口文件,也就是说项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的。

单一入口:指一个项目或者应用具有一个统一但并不一定是唯一的入口文件,也就是说项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的。

ThinkPHP目录结构

ThinkPHP.php-框架入口文件

Commom-框架公共文件目录,一般放置项目的公共函数

Conf-框架配置文件目录,项目所有的配置文件都在这

Lang-框架系统语言目录(若不需要多语言支持,可删)

Lib-系统核心基类库目录,通常包括 Action 和Model 子目录

Tpl-系统模版目录,支持模版主题

Extend-框架扩展目录,包括 Cache(模版缓存)、Temp(数据缓存)、Data(数据目录)、和Logs(日志文件)子目录,如果存在分组的则首先是分组目录

ThinkPHP命名规范

类文件以 .class.php 为后缀,使用驼峰法命名,并且首字母大写;

确保文件的命名和调用大小写一致;

类名和文件名一致;

函数、配置文件等其他库类文件之外的一般以 .php 为后缀;

函数命名使用小写字母和下划线的方式;

方法的命名使用驼峰法,并且首字母小写或者使用下划线,通常下划线开头的方法属于私有方法;

属性的命名使用驼峰法,首字母小写或下划线,下划线开头的属性属于私有属性;

以下划线开头的函数或方法为魔法方法,如:_call() 等;

常量以大写字母和下划线命名;

配置参数以大写字母和下划线命名;

语言变量以大写字母和下划线命名,以下划线开头的语言变量通常用于系统语言变量;

变量命名没有强制规范;

模版文件默认以 .html 为后缀;

数据表和字段采用小写加下划线方式命名,字段名不要以下划线开头;

UTF-8编码,并且去掉BOM信息头。

ThinkPHP与MVC的关系

MVC是一种将应用的逻辑层和表现层进行分离的方法,ThinkPHP基于MVC设计模式,但只是提供了一种敏捷开发的手段,不拘泥于MVC本身。

CBD架构

CBD:核心(Core)+行为(Behavior)+驱动(Driver)

ThinkPHP创建应用的一般开发流程

系统设计、创建数据库和数据表;(可选)

项目命名并创建项目入口文件,开启调试模式;

完成项目配置;

创建项目函数库;(可选)

开发项目需要的扩展(模式、驱动、标签库等);(可选)

创建控制器类;

创建模型类;(可选)

创建模版文件;

运行和调试、分析日志;

开发和设置缓存功能;(可选)

添加路由支持;(可选)

安全检查;(可选)

部署到生产环境。

ThinkPHP入口文件中主要包括:

定义框架路径、项目路径和项目名称(可选);

定义调试模式和运行模式的项目常量(可选);

载入框架入口文件(必须).


推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了一种处理AJAX操作授权过期的全局方式,以解决Asp.net MVC中Session过期异常的问题。同时还介绍了基于WebImage的图片上传工具类。详细内容请参考链接:https://www.cnblogs.com/starluck/p/8284949.html ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
author-avatar
强子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有