ThinkPHP框架学习一

ThinkPHP框架学习

  • ThinkPHP介绍
    • 项目下载
    • 项目架构
      • URL访问检测
        • 隐藏路径当中的index.php
        • 隐藏路径当中的index模块
  • 数据持久化
    • 连接数据库
    • 查询数据
    • 插入数据
    • 删除数据
    • 更新数据
    • 返回json格式数据

ThinkPHP介绍

php开发框架很多,国内很多人在用 ThinkPHP 主要是中文文档,简单易学易上手,相关的资料比较多。ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。

项目下载

官网上面目前ThinkPHP的版本为5.0,ThinkPHP各个版本之间存在差异,本文的版本为5.0,直接在ThinkPHP官网去下载,下载的时候要注册账号。最近的项目有些下载和文档以及资源需要收费。下载链接:

  1. 直接下载 ,注册帐号登录,点链接直接下载;
  2. ThinkPHP下载的项目应该来说是个半成品项目,就是在项目的基础上去做开发;
  3. 修改项目名称 项目名称可以随自己的意愿和需求修改,直接修改文件名称即可;
  4. 运行项目 项目运行需要放在Apache服务器里面运行,也可以放在集成开发环境里面运行,例如phpstudy。然后打开apache软件,在浏览器输入地址 http://localhost/tp5/public/; 出现下面的看结果就表示运行正确:ThinkPHP框架学习一_第1张图片
  5. ThinkPHP 5.0的开发文档,里面有项目的开发规范和各部分说明;

项目架构

ThinkPHP 5.0 应用基于 MVC (模型-视图-控制器)的方式来。

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心
部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。

URL访问检测

应用初始化完成后,就会进行URL的访问检测,包括 PATH_INFO 检测和URL后缀检测。5.0的URL访问必须是 PATH_INFO 方式(包括兼容方式)的URL地址,例如:

http://serverName/index.php/index/index/hello/val/value

所以,如果你的环境只能支持普通方式的URL参数访问,那么必须使用

http://serverName/index.php?s=/index/index/hello&val=value

上面的访问路径serverName是域名+端口+项目名称的形式,在phpstydy里面可以设置。第一个index是thinkphp框架模版里面的index模块,第二个index是index模块控制器index,第三个index是index模块下面的index控制器当中的index方法

注意: index.php是入口文件配置的访问路径参数。在 public/router.php文件当中被定义。所以在没有隐藏的时候,需要在路径上加上 /index.php/ 否则请求不到路径。

ThinkPHP框架学习一_第2张图片

  • 1 设置域名站点
    打开phpstudy,点击其他选项菜单,点击站点域名管理
    ThinkPHP框架学习一_第3张图片

  • 2 映射访问路径
    点击添加域名,自定义域名才用 www.xxxxx.com 的形式,网站的目录定位到项目的public文件夹目录,二级域名去掉www,点击添加即可。
    ThinkPHP框架学习一_第4张图片

  • 3 配置域名和地址映射

    • 1 在phpstudy当中点击其他选项菜单,然后点击打开host
    • 2 或者在windows开始菜单栏 C:\Windows\System32\drivers\etc 然后点击回车,打开hosts文件
    • 3 在文件末尾添加如下:下面的 www.xxxx.com 是你在phpstudy当中添加的域名。
         127.0.0.1    www.xxxx.com   
    
  • 4 这样就把域名和本地IP(127.0.0.1)绑定了,使用浏览器的访问的时候可以用 localhost 也可以用 www.xxxx.com 去的访问。

隐藏路径当中的index.php

public/.htaccess文件中,修改在加载模块下面的配置。

#  加载模块
#  注意:路径中的**/index.php/**就是在这儿配置的,现在将它隐藏
#  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]  
#  隐藏url路径当中的/index.php/配置的写法
  RewriteRule ^(.*)$ index.php?$1 [QSA,PT,L]

完成之后的浏览器请求URL地址就变为:www.xxxx.com/index/index/index

隐藏路径当中的index模块

public/index.php 文件当中 添加

     //隐藏index模块
     define('BIND_MODULE','index');

ThinkPHP框架学习一_第5张图片

完成之后的浏览器请求URL地址就变为:www.xxxx.com/index/index 。

数据持久化

连接数据库

查询数据

插入数据

删除数据

更新数据

返回json格式数据

只需要使用Thinkphp内置的 json(str) 函数就可以得到json字符串,下面的函数是 控制器类 中的方法,直接返回。

    /**
     * 获取区域
     * @return \think\response\Json
     */
    public function getArea(){
        return json(Db::query('select * from region where pid=?',[0]));
    }

得到数据,然后浏览器直接刷新查看。如果你在浏览器端装了FeHelper插件,你就能看到格式化的json数据,类似下面这样:

  [
        {
		"id": 110000,
		"pid": 0,
		"name": "北京市"
		},
		{
		"id": 120000,
		"pid": 0,
		"name": "天津市"
		},
		{
		"id": 130000,
		"pid": 0,
		"name": "河北省"
		},
  ]

你可能感兴趣的:(php,THinkPHP)