ThinkPHP基础知识(一)

TP是一个很好用,很好学的php框架,拥有了它,你开发的效率会挺高很多。

你可以在ThinkPHP官网上下载最新的版本,现在是ThinkPHP5,然而我现在学的是3.2.3,不过没关系,知识应该都差不多吧。

下载完了之后,打开你可以看到这些文件:

在你的php开发环境里创建一个文件APP,(我用的是wampserver64的集成环境,也可以是phpstudy,)把上面文件复制进去。

在网站上输入:http://localhost/APP/index.php,如果显示下方这样,那你的tp就安装成功了。

当你安装成功后,你是不是就开始懵逼那些项目文件是什么意思了?别急,现在我就来说这个了。

Application ------应用目录

Public ------资源文件目录

ThinkPHP ------框架目录

.htaccess ------Apache配置文件

compose.json------Composer配置文件

index.php ------入口文件

README.md-----Readme文件


Home模块:(前台)

Common:模块函数公共目录(一些公共的文件,css,js等等)

Conf:模块配置文件目录

Controller:模块控制器目录(MVC中的C,里面放着一些类、方法,可以理解为漂亮跑车的引擎)

Model:模块模型目录(MVC中的M,用于存储数据的组件,可以理解为漂亮跑车的基本外壳、方向盘等等)

View:模块视图文件目录(MVC中的C,视图界面,可以理解为汽车漂亮的各种装饰,外观好看等等)

index.html:目录安全文件(避免直接可以在浏览器输入URL地址就可以查看目录,起到安全保护目录的作用)


Admin模块(后台):同上类似

这文件目录里边还有一些文件,具体的我就不细细说了,你可以看开发文档哦,那里有详细的解释:

那ThinkPHP是怎么工作的呢?

ThinkPHP系统流程如下:

1、用户URL请求:在浏览器输入网址

2、调用应用入口文件:就是根目录下的index.php

3、载入框架入口文件:就是ThinkPHP.php,路径是APP/ThinkPHP/ThinkPHP.php

4、加载ThinkPHP框架内部:具体加载内容可参看开发文档手册

5、获取请求的模块信息

6、获取当前控制器和操作,以及URL参数

7、根据请求执行控制器方法

8、如果控制器中调用display或者show方法,则说明有模板渲染

9、获取模板内容

10、自动识别当前主题状态以及定位模板文件

当你在浏览器中输入:“http://localhost/APP/index.php/Home/Index/index”,系统获取到请求的模板是Home,当前控制器是Index,控制方法是index,然后会执行这个方法,如果有模板渲染的话,就获取模板内容。

更多内容,期待下期!

(原文写于2017.8.5)

原文发布于微信公众号 - 程序员的碎碎念(gh_53e607dd4782)

原文发表时间:2017-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏24K纯开源

Windows下程序打包发布时的小技巧

一、背景     Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去。这个时候,快速确定这个程序到底依赖哪些动态链接库变得...

2076
来自专栏Java后端技术

GitLab配置ssh key

  当前很多公司都选择git作为代码版本控制工具,然后自己公司搭建私有的gitlab来管理代码,我们在clone代码的时候可以选择http协议,当然我们亦可以选...

923
来自专栏Jed的技术阶梯

Linux集群系统时间同步

要做到服务器集群的时间同步,集群中各台机器的时区必须相同的,我们在国内就使用中国时区,如果你的机器的时区不是"Asia/Shanghai",需要修改时区

4174
来自专栏Android干货

Android项目实战(五十):微信支付 坑总结

   包名在app目录下的build.gradle文件中可以查看,为applicationId 键的值

831
来自专栏pythonlove

FTP使用MariaDB完成虚拟用户认证

文件传输协议(英文:File Transfer Protocol,縮寫:FTP)是用於在網絡上進行文件傳輸的一套標準協議。它属于网络传输协议的应用层。FTP是一...

924
来自专栏大内老A

Visual Studio对程序集签名时一个很不好用的地方

由于我们的项目底层使用到一个通过LogicalCallContext实现的上下文数据管理框架,导致所有的Unit Test不能正常运行。具体的现象在《只在Uni...

1698
来自专栏互联网软件技术

wangEditor-基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费(2)

1134
来自专栏linux、Python学习

Linux基础教程之linux文件权限深度解读

基本命令—— 1.cut : cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr

260
来自专栏乐沙弥的世界

快速安装及部署DRBD

731
来自专栏Crossin的编程教室

极简 Github 上手教程

随着你写的代码越来越多,就需要去管理这些代码,可能要在不同的电脑上编写同一份代码,可能要和别人合作开发,也可能想把项目分享给别人。更进一步地,你可能还会需要管理...

2877

扫码关注云+社区