热门标签 | 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入口文件中主要包括:

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

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

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


推荐阅读
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了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的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了Sencha Touch的学习使用心得,主要包括搭建项目框架的过程。作者强调了使用MVC模式的重要性,并提供了一个干净的引用示例。文章还介绍了Index.html页面的作用,以及如何通过链接样式表来改变全局风格。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文介绍了ASP.NET Core MVC的入门及基础使用教程,根据微软的文档学习,建议阅读英文文档以便更好理解,微软的工具化使用方便且开发速度快。通过vs2017新建项目,可以创建一个基础的ASP.NET网站,也可以实现动态网站开发。ASP.NET MVC框架及其工具简化了开发过程,包括建立业务的数据模型和控制器等步骤。 ... [详细]
  • 本文讨论了在ASP中创建RazorFunctions.cshtml文件时出现的问题,即ASP.global_asax不存在于命名空间ASP中。文章提供了解决该问题的代码示例,并详细解释了代码中涉及的关键概念,如HttpContext、Request和RouteData等。通过阅读本文,读者可以了解如何解决该问题并理解相关的ASP概念。 ... [详细]
  • 数据库锁的分类和应用
    本文介绍了数据库锁的分类和应用,包括并发控制中的读-读、写-写、读-写/写-读操作的问题,以及不同的锁类型和粒度分类。同时还介绍了死锁的产生和避免方法,并详细解释了MVCC的原理以及如何解决幻读的问题。最后,给出了一些使用数据库锁的实际场景和建议。 ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
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社区 版权所有