ThinkPHP学习手记——环境搭建

怀着激动的心情打开了thinkPHP的文档,开启了第一次php框架学习。 php

下载 html

ThinkPHP最新版本能够在官方网站(http://thinkphp.cn/down/framework.htmlgit

或者Github(https://github.com/liu21st/thinkphp/downloads)下载。
把下载后的压缩文件解压到你的WEB目录(或者任何目录均可以) github

建议下载完整版,这能够再配置期间免去不少莫名其妙的麻烦 thinkphp

入口文件 浏览器

下面附上官网的内容 php框架

在开始以前,你须要一个Web服务器和PHP运行环境,若是你暂时尚未,咱们推荐使用集成开发环境WAMPServer(是一个集成了Apache、PHP和MySQL的开发套件,并且支持多个PHP版本、MySQL版本和Apache版本的切换)来使用ThinkPHP进行本地开发和测试。
接下来咱们先在WEB根目录下面建立一个app子目录(这个app就是咱们的项目名),而后在该目录下面建立一个index.php文件,添加一行简单的代码:
服务器

require '/ThinkPHP框架所在目录/ThinkPHP.php'; app

其实这个index.php无需本身建立,在下载包中已是有的了。 框架

单一项目

咱们就能够直接经过http://localhost/访问项目了。

多项目

若是想建立多个项目,你也能够在Web根目录下面建立多个子目录来部署多个项目。每一个项目目录里包含一个入口文件。

建立project1文件夹

建立并打开入口文件(index.php

加入以下代码

<?php

define('APP_DEBUG',true); //开启调试模式

require('../ThinkPHP/ThinkPHP.php');

?>

在浏览器打开 http://localhost/project1/,即可以看到thinkphp的欢迎页面了。

ThinkPHP运行流程

浏览器访问 入口文件的时候 时,发生了什么?think的执行流程是怎么样的?

(1)第一步:引入框架下的 thinkphp.php

thinkphp.php文件,定义了常量app_name和think_path(大写),并引入runtime.php

(2)第二步,加载框架下的 Common/runtime.php文件

  • 再次定义了一些常量,具体见源码;
  • 建立项目目录结构,由build_app_dir()方法建立;
  • 若是app_dubug设置为false,则把核心加载文件进行编译。不然,删除编译文件,即项目下的~runtime.php文件;
  • 调用框架ThinkPHP下的 lib/core/Think.class.php 文件——>执行入口 Think::Start()。

(3)第三步,执行框架ThinkPHP下的 lib/core/Think.class.php 的start()方法

  • 接第二步,开始执行入口文件Think::Start()。包括声明错误处理句柄、异常处理句柄,并声明类的自动加载机制;
  • Think::buildApp(); //初始化app运行,即项目预编译,加载项目的各类配置文件,大约有10个文件左右。
  • 加载完配置文件后,执行app::run

(4)第四步,执行框架下的 lib/core/App.class.php下的run方法

  • 执行app下init()静态方法:分析url,得出调用哪一个控制器。
  • 执行app下exec静态方法:根据计算出来的模型和方法,实例化该module,并执行action相应的方法。本实例找到的项目下 lib/action目录下的 IndexAction.class.php,并执行index()方法。

 

通过了以上这么多的步骤,咱们终因而看到了浏览器上显示的 thinkphp欢迎页面。

网站分享

官网:

http://www.thinkphp.cn/

API:

http://doc.thinkphp.cn/

论坛:

http://www.ithinkphp.com/

相关文章
相关标签/搜索