ThinkPHP框架目录
applocation:此目录为应用目录,网站主要的文件控制器都放在`applocation`目录下
view:此目录在applocation下,为视图层
extend:为扩展类库目录
public:为网站对外访问目录,也就是外部访问网站的入口文件
runtime:为运行时的目录
thinkphp:为框架的核心目录
vendor:为第三方类库目录
build.php:用于自动生成定义文件
其中比较重要的为applocation和thinkphp,extend

系统变量对应的路径

开启调试模式
application下config.php文件下修改app_debug为true
此处路径对应为application下的index文件下的controller控制器下的index.php中的hello方法

页面介绍
use:导入,导入think\Controller后使用可直接使用其中的方法不加路径
namespace:命名空间
assing:第一个参数为页面中需要展示的参数,第二个参数为传入的参数
fetch:用于渲染模板文件输出

当访问此url时,会去访问路径application/index/controller/index.php下的word函数,将abc作为参数传入name

此时调用了word函数,将abc作为值赋值给变量$name,通过assing()将$name中的值设置为页面view/index/word.html中需要展示的参数的值,fetch()对页面进行渲染展示

数据库操作介绍
use think\Db导入thinkphp中自定义的操作数据库的方法
定义函数
设置Db文件中的name值为字符串user,在Db文件中name变量是用来存储表名的
执行Db文件中的find方法,来根据表名查询数据,查询出来的结果作为数组赋值给变量$data
将查询出来的数组通过assign函数设置为页面需要展示的参数
fetch函数将页面渲染展示


URL和路由访问

URL访问
这三个index分别为index模块下的application中的index控制器下的index方法
当使用驼峰命名法时,HelloWorld.php在url中需要通过特殊的书写方式hello_world去访问

在url中将HelloWorld替换为hello_world

自定义路由
当正常请求的url太长了,可设置自定义路由
路由配置文件在route.php中
此路由意思为,当访问hello时路由自动转换为index/index/hello,并且hello后需添加一个参数赋值给name
设置完自定义路由后原来的路由就会被代替,无法使用,并且如果route.php下自定义路由中的参数加了中括号时,url访问时就可以不带参数

此处就相当于加载了application/index/controller/index.php中的hello方法,并传入abc为参数赋值给变量name

请求和响应

use think\Request导入Request
instance():实例化一个类
url():获取当前url
传统调用方式
use导入Request后通过instance函数将Request实例化一个对象给$request,然后调用$requet中的url方法获取当前url

继承think\Controller
当继承了Controller时,可以不用实例化,直接调用request类中的url()方法

自动注入请求对象
相当于在定义函数的时候,在参数中就进行了实例化的操作

获取请求变量


param()自动接收POST,GET等方式传入的值
第一个参数为要赋值的变量,第二个参数为默认值,第三个参数为过滤方法


get()或者post():指定获取get或者post方式提交参数

助手函数input()
get.user为接收get方式传递的user中的值
也可以接收post、cookie、file等方式的值

数据库操作
use导入数据库的类文件
Db::name设置要查询的表名为data,where设置查询的条件为id=1,find进行查找操作




















