ThinkPHP的学习

来源:互联网 发布:音乐剪辑合成软件 编辑:程序博客网 时间:2024/06/03 06:36

下载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(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”