下载ThinkPHP3.1.3核心版,将解压过后的文件夹中的ThinkPHP复制到phpStudy/WWW/20170829/下,重命名为Think,然后再在这里面新建项目名,如:shop,book,car之类的。
1.创建应用
(a)打开项目名web,在其中新建一个文件夹go,添加入口文件index.php;
<?php
//定义许多文件目录会创建在这个地方
define("APP_PATH","../");
include "../../Think/ThinkPHP.php";
?>
在浏览器的地址栏中运行http://localhost/20170829/web/go/index.php,出现ThinkPHP欢迎您,即可自动生成目录。
然后打开Lib/Action/IndexAction.class.php,改写成这样
<?php
// 页面看到的效果,就是控制器被实例化,然后调用相关的方法
class IndexAction extends Action {
public function index(){
echo "today study thinkphp";
}
}
?>
再运行http://localhost/20170829/web/go/index.php,会出现today study thinkphp。
tp框架执行流程:
1.入口文件index.php
2.Think/ThinkPHP.php
require THINK_PATH.’Common/runtime.php’;
3.Think/Common/runtime.php
声明许多常量信息,加载系统核心类文件
if(is_file(
file))requirecache(
f
i
l
e
)
)
r
e
q
u
i
r
e
c
a
c
h
e
(
file);
自动创建应用目录
build_app_dir();
//类文件调用自己的静态方法
Think::Start();
4.Think/lib/Core/Think.class.php
static function Start() {}
Think::buildApp();//预编译项目
引入相关配置文件
App::run();
5.Think/lib/Core/App.class.php
static public function run() {}
App::init();
Dispatch分析
分析路由(控制器MODULE_NAME 方法ACTION_NAME)index.php?c=控制器&a=方法
App::exec();
通过反射ReflectionMethod使得控制器对象调用相应的方法
控制器和简单模板创建
在web/Lib/Action/下创建控制器UserAction.class.php
在浏览器中输入http://网址/index.php/User/Login
还可以用http://网址/User/Login(不过这需要用伪静态技术将index.php给隐藏起来)
网址域名修改有两种方式:1.在phpStudy下的“其它选项菜单->站点域名管理”新增一个域名,然后保存并生成配置文件;2.“phpStudy->Apache->conf->vhosts.conf”