一、框架概念

1:什么是框架

框架就是一些代码类、方法(函数)、变量、常量的集合,这些代码是功能结构性的代码(并非业务代码)。业务代码其实就是具体的一些模块的增删改查逻辑代码。

使用框架开发项目,有便于代码重用、开发效率高、代码规范好、便于功能扩展等优点。

2:php中的主流框架

①Zend Framework 框架,PHP官方框架。

②YII框架,又叫易框架。

③Symfony 框架。

④Laravel框架,市场使用较多。

⑤Codelgniter框架,简称CI框架。

⑥ThinkPHP框架,简称TP框架,常用版本:3.2.3和 5.0.*版本。

ThinkPHP是国人自己开发的框架。有中文官网、中文帮助文档、中文社区,以及丰富的百度搜索资源。所以ThinkPHP很适合作为入门级的开发框架。

这些框架大多都基于MVC设计思想和面向对象的。

3:mvc

M:模型model,处理业务数据,与数据库做交互。

V:视图view,显示html页面,用户能够看到并与之交互的页面。

C:控制器controller,接收请求,调用模型处理数据,调用视图显示页面。

整个网站应用,分为模型、视图、控制器三大部分组成。

二、ThinkPHP框架安装

1 下载解压框架 http://www.thinkphp.cn

2 配置虚拟主机

三、TP框架基础

1 、目录结构(重点)

 1.project  应用部署目录2.├─application           应用目录(可设置)3.│  ├─common             公共模块目录(可更改)4.│  ├─index              模块目录(可更改)5.│  │  ├─config.php      模块配置文件6.│  │  ├─common.php      模块函数文件7.│  │  ├─controller      控制器目录8.│  │  ├─model           模型目录9.│  │  ├─view            视图目录
10.│  │  └─ ...            更多类库目录
11.│  ├─command.php        命令行工具配置文件
12.│  ├─common.php         应用公共(函数)文件
13.│  ├─config.php         应用(公共)配置文件
14.│  ├─database.php       数据库配置文件
15.│  ├─tags.php           应用行为扩展定义文件
16.│  └─route.php          路由配置文件
17.├─extend                扩展类库目录(可定义)
18.├─public                WEB 部署目录(对外访问目录)
19.│  ├─static             静态资源存放目录(css,js,image)
20.│  ├─index.php          应用入口文件
21.│  ├─router.php         快速测试文件
22.│  └─.htaccess          用于 apache 的重写
23.├─runtime               应用的运行时目录(可写,可设置)
24.├─vendor                第三方类库目录(Composer)
25.├─thinkphp              框架系统目录
26.│  ├─lang               语言包目录
27.│  ├─library            框架核心类库目录
28.│  │  ├─think           Think 类库包目录
29.│  │  └─traits          系统 Traits 目录
30.│  ├─tpl                系统模板目录
31.│  ├─.htaccess          用于 apache 的重写
32.│  ├─.travis.yml        CI 定义文件
33.│  ├─base.php           基础定义文件
34.│  ├─composer.json      composer 定义文件
35.│  ├─console.php        控制台入口文件
36.│  ├─convention.php     惯例配置文件
37.│  ├─helper.php         助手函数文件(可选)
38.│  ├─LICENSE.txt        授权说明文件
39.│  ├─phpunit.xml        单元测试配置文件
40.│  ├─README.md          README 文件
41.│  └─start.php          框架引导文件
42.├─build.php             自动生成定义文件(参考)
43.├─composer.json         composer 定义文件
44.├─LICENSE.txt           授权说明文件
45.├─README.md             README 文件
46.├─think                 命令行入口文件

2 配置文件(重点)

①三个层级的配置文件:

框架主配置文件(惯例配置文件) thinkphp/convention.php

应用公共配置文件 application/config.php, application/database.php 对整个应用生效

模块配置文件 application/模块目录/config.php 对当前模块生效

②其他说明:

配置文件格式 return array( 键值对 );

加载顺序: 框架主配置文件 》 应用公共配置文件 》 模块配置文件

配置文件生效顺序

四、TP中的控制器

1、控制器的后缀

打开配置文件application/config.php,有如下配置

'controller_suffix' => false,

表示默认情况下,控制器无特殊后缀。例如 Index控制器,文件名为Index.php

如果需要进行设置,可以设置为(我们不需要这么设置)

'controller_suffix' => 'Controller',

2、控制器的定义

命名规则:控制器名称(首字母大写)+(控制器后缀,默认没有)+.php

3、控制器中的命名空间

命名空间本身是PHP就有的,用来防止命名冲突问题的。

TP框架中的命名空间,通常和目录挂钩。

原因:TP中的自动加载机制,会将类的命名空间作为加载路径的一部分。

TP中命名空间使用:

①声明命名空间 使用namespace关键字

②引入指定的类 使用use关键字 命名空间\类名称

③完全限定式访问 在使用类时,\完整命名空间\类名称(继承和实例化)

如果一个类没有命名空间,使用 \类名

五、命令行创建模块目录及文件

1、命令行创建模块目录

php think build --module  模块名

2、命令行创建控制器

php think make:controller 模块名/控制器名
php think make:controller 模块名/控制器名 --plain

加上–plain 参数表示创建没有方法的空控制器名

3、命令行创建模型

php think make:model 模块名/模型名

六、Request请求类(这里介绍博主常用的)

要获取当前的请求信息,可以使用\think\Request类
$request = \think\Request::instance();
或者使用助手函数
$request = request();


param方法 能够获取所有参数(id, page)

小结:可以用一下任何一种方法接受请求参数

//1.获取请求对象
$request = request();
$request = \think\Request::instance();
$request = $this->request; //仅限于继承了底层控制器的情况下
public function save(Request $request)  //依赖注入//2. 接收请求参数 param方法$params = $request->param();$params = input();$params = request()->param();$id = $request->param('id');$id = input('id');public function edit($id)//参数绑定

ThinkPHP(TP框架)的归纳与总结(一)----基于TP开发手册相关推荐

  1. tp框架文件上传七牛服务器,TP5开发 - 七牛云图片上传方法

    1.config.php配置文件里配置七牛云密钥等 里面 secretKey accessKey domain bucket对应换成自己七牛云申请的, 步骤: (1)七牛云注册成功后-对象存储申请10 ...

  2. 海豚php框架论坛,单选-海豚PHP1.0.6完全开发手册-基于ThinkPHP5.0.10的快速开发框架...

    addRadio("name值", "标题", "提示", "数据项", "默认值" [, &quo ...

  3. 从零开始了解thinkphp框架,tp框架基础教程

    工作很长时间没有用到thinkphp框架了,差不多都要忘干净了,今天就重温一下tp框架. 首先要下载thinkphp最新版本3.2.2版本,下载地址http://www.thinkphp.cn/don ...

  4. tp框架接入支付宝公钥证书支付+回调

    了解支付宝支付之前先要了解电子商务,电子商务就是,把在先下购物,放到互联网上,人们可以通过网页或者手机直接的看到商品. 电子商务的模式分为很多, B2B(企业对企业,例如阿里巴巴) B2C (企业对个 ...

  5. tp框架中引入php文件,Laravel框架及ThinkPHP框架超级简单的公共文件引入(保留变量)...

    为什么要把两个框架放在一起来说呢?额...因为TP5.1.x与Laravel实在是太像了,本文主要讲述关于大家顶部及底部文件引入的问题. 但是如果顶部和尾部只是单纯的html代码还好说,但是里面通常有 ...

  6. php面向对象及tp框架初识,thinkphp面向对象的问题

    TP框架分页类里面 一开始的时候我看那里定义了一个私有属性private $url     = ''; 我看下面有两个地方用到了这个私有属性 这个私有方法在这个show方法的上面  运行到这个私有方法 ...

  7. php+tp框架+API,【路由】利用Thinkphp路由实现API开发版本管理

    # 前言 ***** ### 在使用Thinkphp接口开发项目的程中可能会遇到这样的场景 + 准备将原有系统重构一遍,但是出于某种原因,老的系统在未来一段时间内必须和新的版本共存: + APP存在老 ...

  8. TP 框架实现支付宝接口功能

    最近做系统,需要实现在线支付功能,毫不犹豫,选择的是支付宝的接口支付功能.这里我用的是即时到帐的接口,具体实现的步骤如下: 一.下载支付宝接口包 下载地址: https://doc.open.alip ...

  9. crm开源系统 tp框架_thinkphp6学习教程与源码 tp6开源CMS系统源码研究

    thinkphp6最新正式版框架上市已经有一段时间了,从官方的介绍来看,tp6的框架和tp5有很大的区别,完全重新改写了底层架构代码和逻辑,所以不支持thinkphp5的无缝升级,也就是说如果你之前的 ...

  10. tp框架之Model类与命名空间

    1.获取系统常量信息 public function shuchu(){var_dump(get_defined_constants()); }2.跨控制器或跨模块调用 function diaoyo ...

最新文章

  1. linux安装redis服务,配置PHP扩展
  2. windows wim
  3. Flask 第三方组件之 login
  4. js将object转化为json数据,json数据转js对象
  5. Python预测2020高考分数和录取情况
  6. 演变模型_开放组织的演变
  7. 特斯拉柏林超级工厂叕被叫停,先交一个亿再说
  8. iview使用之怎样通过render函数在table组件表头添加图标及判断多个状态
  9. iapp退出软件按钮代码_还在为金蝶财务软件发愁吗?超详细!金蝶财务软件实操流程,速收...
  10. 结构体typedef struct和struct
  11. itools苹果录屏大师_屏幕录制软件有哪些?找对合适录屏软件
  12. ubuntu2004 安装protoc
  13. ceph 纠删码解读和实践
  14. 企业微信url及生成授权链接
  15. 如何举报YouTube视频和评论
  16. 高电平、低电平、高电平有效、低电平有效
  17. Spark 连接kafka报错: Error while fetching metadata with correlation id xx [topicName=INVALID_REPLICATIO]
  18. 访问图片出现403的解决办法
  19. debug5x 微信_微信X5内核webview调试
  20. Vue3必会技巧-自定义Hooks

热门文章

  1. LCD12864图形点阵液晶显示模块中文资料介绍
  2. 下载网页 TS视频并自动合成视频
  3. 获取窗口句柄 c语言,VC++编程获取窗口句柄的方法小结分享
  4. java编程语言的优点你知道几个
  5. 2022年最强大数据面试宝典(全文50000字)
  6. 制作自己的W7系统的主题包自己制作
  7. java 编译器和 jvm_java编译器和JVM有什么区别
  8. 惠普服务器做虚拟化,节省成本立竿见影 惠普虚拟化技术详解
  9. 删好友警告,C语言最强整人小程序!(勿随便使用)
  10. Silverlight 4 帮助文件例子的连接