后端_ThinkPHP5

<p>学习路径:零基础入门到BBS留言板到商城实战到微博登录到支付宝支付到VIP会员</p>
</p>ThinkPHP是一个免费开源的,面向对象的轻量级PHP开发框架,运行环境要求PHP6+,Git安装:git clone https://github.com/top-think/think
再 clone https://github.com/top-think/framework, ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织.</p>
<p>命名规范:目录使用小写+下划线,类库,函数文件统一以.php为后缀;类名和文件名保持一致,以骆驼峰命名法(首字母大写).函数的命名使用小写字母和下划线的方式,方法的命名
使用骆驼峰法(首字母小写),属性的命名使用骆驼峰(首字母小写),常量以大写字母和下划命名,配置参数以小写字母和下划线命名
<header>
架构:生命周期,入口文件,URL访问,模块设计,命名空间,自动加载,Traits引入,API友好。
ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织,MVC模式会强制使应用程序的输入,处理和输出分开.默认开启路由,关闭路由或者没有匹配路由的情况下,基于文件的目录结构:http://localhost/tp5/public/模块/控制器/操作 eg:https://www.youwuu.com/index/index/index
(1)应用在ThinkPHP中是一个管理系统架构以及生命周期的对象.一个应用是由多个模块组成,这些应用通常是应用目录下面的子目录,每个模块都有自己的独立配置文件,公共文件,类库文件.每个模块下面拥有MVC类库及配置文件,一个模块都有多个控制器来负责响应请求.
(2)控制器主要负责请求的接受,并调用相关的模型处理,最后通过视图输出.注意控制器不应该过多的介入业务逻辑处理.
(3)start.php就是系统默认的一个引导文件,加载系统常量定义,加载环境变量定义文件,注册自动加载机制,注册错误和异常处理机制,加载惯例配置文件,执行应用.
(4)生命周期:入口文件,引导文件,注册自动加载,注册错误和异常机制,应用初始化,URL访问检测,路由检测,分发请求,响应输出,应用结束.
(5)入口文件:所有的应用都有一个入口文件开始,不同的应用的入口文件是类似的.入口文件主要完成定义框架路径,项目路径(可选),定义系统相关常量,载入框架入口文件(必须)
(6)URL访问:ThinkPHP5.0在没有启用路由的情况下典型的URl访问规则是: https;//www.baidu.com/index.php/模块/控制器/操作[参数名/参数值].
(7)模块设计:

</header>
目录命名:
project 应用部署目录
├─application 应用目录(可设置)
│ ├─common 公共模块目录(可更改)
│ ├─index 模块目录(可更改)
│ │ ├─config.php 模块配置文件
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ … 更多类库目录
│ ├─command.php 命令行工具配置文件
│ ├─common.php 应用公共(函数)文件
│ ├─config.php 应用(公共)配置文件
│ ├─database.php 数据库配置文件
│ ├─tags.php 应用行为扩展定义文件
│ └─route.php 路由配置文件
├─extend 扩展类库目录(可定义)
├─public WEB 部署目录(对外访问目录)
│ ├─static 静态资源存放目录(css,js,image)
│ ├─index.php 应用入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于 apache 的重写
├─runtime 应用的运行时目录(可写,可设置)
├─vendor 第三方类库目录(Composer)
├─thinkphp 框架系统目录
│ ├─lang 语言包目录
│ ├─library 框架核心类库目录
│ │ ├─think Think 类库包目录
│ │ └─traits 系统 Traits 目录
│ ├─tpl 系统模板目录
│ ├─.htaccess 用于 apache 的重写
│ ├─.travis.yml CI 定义文件
│ ├─base.php 基础定义文件
│ ├─composer.json composer 定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 惯例配置文件
│ ├─helper.php 助手函数文件(可选)
│ ├─LICENSE.txt 授权说明文件
│ ├─phpunit.xml 单元测试配置文件
│ ├─README.md README 文件
│ └─start.php 框架引导文件
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
注意,如果是mac/linux环境下,请确保runtime目录有可写权限,建议public目录作为web目录访问内容.
</p>
<p>
(1)错误和调试模式:
ThinkPHP提供调试模式,建议在开发阶段一直开启,正式部署关闭调试模式.’app_debug’ =>false,
还可以配置.env文件的格式 app_debug = true 但定义之后,配置文件中定义app_debug将无效.
优势在于:开启日志记录,任何错误信息和调试信息都会详细记录,便于调试,详细记录整个执行过程,记录SQL日志,通过Trace功能更好的调试和发现错误.
注意:(1)关闭调试模式还提示错误信息,可以设置 “show_error_msg” => true,
(2)在异常捕获中不要使用think\Controller类的error,success和redirect方法.
五种调试:Trace调试,变量调试,性能调试,SQL调试,远程调试和404页面.
(1)Trace调试功能是ThinkPHp提供给开发人员的一个用于开发调试的辅助工具,显示当前页面的操作的请求信息,运行情况,错误提示并支持自定义显示.可以设置 ‘app_trace’ => true,可以配置修改显示功能和显示区域.
(2)变量调试功能
(3)性能调试
(5)SQL调试功能开启可以在日志文件中看到详细的SQL执行记录以及性能分析.可以监听SQL.
(5)远程调试
(6)

(2)路由(3)数据库 新版的数据库类拆分为Connection(连接器)/query(查询器)/Builder(SQL生成器),查询语法,闭包查询和闭包事务,链式操作,数据分批处理和数据库SQL执行监听.
(1)ThinkPHP内置抽象数据库访问层,把不同的数据库封装起来,只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现.
(2)ThinkPHP5.0的数据查询由低到高分三个层次:数据库原生查询(SQL查询),数据库链式查询(查询构造器),模型的对象化查询;
(3)使用数据库必须配置数据库链接信息,有多种方法定义,如配置文件定义(database.php),方法配置,模型类定义.
(4)配置链接数据库之后,可以使用数据库运行原生SQL操作,支持query(查询操作)和excute(写入操作)方法并且支持参数绑定.
(5)查询构造器: 查询数据,添数据加,更新数据,删除数据,查询方法,查询语法,链式操作,聚合查询,时间查询,高级查询,视图查询,子查询,原生查询.
(6)查询数据:
</p>
<p>
CREATE TABLE IF NOT EXISTS `think_data`(
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL COMMENT ‘名称’,
`status` tinyint(2) NOT NULL DEFAULT ‘0’ COMMENT ‘状态’,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
INSERT INTO `think_data`(`id`,`name`,`status`) VALUES
(1,’thinkphp’,1),
(2,’onethink’,1),
(3,’topthink’,1);
</p>
</body></html>

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理