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 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

Angular企业级开发(9)-前后端分离之后添加验证码

1.背景介绍 团队开发的项目,前端基于Bootstrap+AngularJS,后端Spring MVC以RESTful接口给前端调用。开发和部署都是前后端分离。...

26910
来自专栏大内老A

谈谈基于OAuth 2.0的第三方认证 [下篇]

从安全的角度来讲,《中篇》介绍的Implicit类型的Authorization Grant存在这样的两个问题:其一,授权服务器没有对客户端应用进行认证,因为获...

1868
来自专栏程序员宝库

vue-cli 脚手架中 webpack 配置基础文件详解

vue-cli是构建vue单页应用的脚手架,输入一串指定的命令行从而自动生成vue.js+wepack的项目模板。这其中webpack发挥了很大的作用,它使得我...

1423
来自专栏java架构师

storm基础系列之五---------接入数据收集系统flume

1.基本结构介绍   flume是三层架构,agent,collector,storage。每一层都可水平扩展。   其中,agent就是数据采集方;colle...

2719
来自专栏java相关

dotfiles项目

532
来自专栏hbbliyong

混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...

今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模...

33210
来自专栏偏前端工程师的驿站

Chrome Extension in CLJS —— 搭建开发环境

前言  磨刀不误砍柴工,本篇将介绍如何搭建Chrome插件的ClojureScript开发环境。 具体工具栈:vim(paredit,tslime,vim-c...

2496
来自专栏张善友的专栏

.NET Core系列 : 2 、project.json 这葫芦里卖的什么药

.NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件p...

2058
来自专栏小白课代表

文件搜索利器——Everything

1572
来自专栏互联网杂技

react+redux+webpack教程5

现在项目已经有了,但是要把它放到生产环境中还是有些事情要做,在这最后一节,来把它们一一搞定。 这一节其实更多是关于webpack的内容。不过要想把react用得...

33511

扫码关注云+社区