工学1号馆

home

« | 返回首页 | »

ThinkPHP安装与配置

By Wu Yudong on September 26, 2017

ThinkPHP 是一款免费开源的框架,基于 MVC 设计模式和面向对象开发。

一.获取 ThinkPHP

我们直接登录 ThinkPHP 的官网下载频道:http://www.thinkphp.cn/down.html,选择最新的 ThinkPHP3.2.1 正式完整版即可。

由于最新版本采用了命名空间等新特性,所以框架对于 PHP 版本的最低要求是 5.3+
其他需求一般都支持,我们直接使用
wamp 即可满足所有要求。
解压
ThinkPHP3.2.1,打开它或导入到项目中去,展开六个文件及文件夹:

Application --应用程序目录,当程序开发时自动生成,默认为空;
Public --公共资源文件目录,存放一些公用的文件,默认为空;
ThinkPHP --框架目录,框架的核心架构程序包;
README.md --说明文件,可删;
.htaccess --配置文件,一般用于配置伪静态;
Index.php --入口文件,所有程序都通过这里访问。

对于 ThinkPHP 框架目录内,也含有大量的目录及文件:
Common --核心公共函数目录
Conf --核心配置目录
Lang --核心语言包目录
Library --框架类库目录
|--Think --核心 Think 类库包目录
|--Behavior --行为类库目录
|--Org --Org 类库包目录
|--Vendor --第三方类库目录
|--... --更多类库目录
Mode --框架应用模式目录
Tpl --系统模版目录
LICENSE.txt --框架授权协议文件
logo.png --框架 LOGO 文件
README.txt --框架 README 文件
index.php --框架入口文件

二.入口文件
ThinkPHP 采用单一入口模式对项目进行部署和访问的,所以我们需要通过 index.php进行一些部署工作,保证其正确访问。
1.将完整版压缩包解压的内容,拷贝到指定的服务器文件夹内,比如 demo1;
2.
打开 ThinkPHP 提供的 index.php 文件,我们发现如下代码:

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用入口文件

// 检测PHP环境
if(version_compare(PHP_VERSION,'5.3.0','<'))  die('require PHP > 5.3.0 !');

// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG',True);

// 定义应用目录
define('APP_PATH','./Weibo/');

// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';

// 亲^_^ 后面不需要任何代码了 就是如此简单

当第一次运行了这个配置后的应用程序,将会在根目录生成一个 Weibo 文件夹,应用程序的所有文件将全部存放在这里。

三.自动生成

当第一次访问应用入口文件的时候,会自动生成 Weibo 这个应用程序目录。里面包含了各种目录,说明如下:
Common --应用公共模块
|--Common --应用公共函数目录
|--Conf --应用公共配置文件目录
Home --默认生成的 Home 模块
|--Conf --模块配置文件目录
|--Common --模块函数公共目录
|--Controller --模块控制器目录
|--Model --模块模型目录
|--View --模块视图文件目录
Runtime --运行时目录
|--Cache --模版缓存目录
|--Data --数据目录
|--Logs --日志目录
|--Temp --缓存目录

index.php 只有一个入口,就是应用程序入口。如果有多个站,或者后台,那就需要另一个入口。
创建一个
admin.php,应用目录改成对应的即可。
//修改应用目录
define('APP_PATH','./Admin/');
在自动生成的目录中,为了防止访问到应用程序的目录结构,会创建个index.html文件。当然,你也可以自行设置。
//设定目录生成的文件
define('DIR_SECURE_FILENAME', 'default.html');
//设置目录页面内容
define('DIR_SECURE_CONTENT', '目录禁止');
一般来说,第一次生成应用程序,应该加上静态主页防止目录结构暴露。但如果你的环境非常安全,可以关闭生成静态主页。
//禁止目录主页生成
define('BUILD_DIR_SECURE', false);

四.访问控制器

控制器路径在: Weibo/Home/Controller 下, 有一个默认的控制器 IndexController.class.php文件。
控制器类的命名方式:控制器名(驼峰式,首字母大写)
+ Controller
控制器文件的命名方式:类名+class.php
创建一个控制器需要三个部分:1.设置命名空间;2.导入命名空间;3.控制器类

<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller; //设置命名空间,就是当前目录
use Think\Controller; //导入命名空间,继承父类用到Controller类
class IndexController extends Controller {  //控制器类
    public function index(){
         ...
    }
}

除了首页直接访问 : http://localhost/demo1/ , 如果想用完整形式则 是 :
http://localhost/demo1/index.php/Home/Index/index

在这里的完整URL中,index.php是单一入口文件,Home是主模块,Index是控制器名,index是控制器里的一个方法。注意:这里大小写区分,因为在Linux是区分大小写的。
如果创建一个
test()方法,那么URL就是:
http://localhost/demo1/index.php/Home/Index/test
如果想创建一个User模块,那么可以创建一个User控制器。

这样我们可以自己创建一个Controller,命名为: UserController.class.php,添加如下类似的代码:

<?php
namespace Home\Controller;

use Think\Controller;

class UserController extends Controller {
	public function index() {
		......
	}
	public function test(){
		echo 'user test';
	}
}

这样访问http://localhost/demo1/Home/User/test

即可看到网页上显示“user test”字样

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)