首页 > 代码库 > ThinkPHP_3.1入门
ThinkPHP_3.1入门
前言:
1、为了书写方便,thinkPHP在下面会用"tp"代替
2、在阅读该文章前是默认读者对PHP的基本语法是较为熟悉。
· 如何使用TP呢?其实就3步,下面会逐一介绍
1、找到ThinkPHP的完整版
2、通过ThinkPHP自动生成项目目录
3、在生成的项目上编写代码
· ThinkPHP核心文件介绍
├─ThinkPHP.php 框架入口文件├─Common 框架公共文件├─Conf 框架配置文件├─Extend 框架扩展目录├─Lang 核心语言包目录├─Lib 核心类库目录│ ├─Behavior 核心行为类库│ ├─Core 核心基类库│ ├─Driver 内置驱动│ │ ├─Cache 内置缓存驱动│ │ ├─Db 内置数据库驱动│ │ ├─TagLib 内置标签驱动│ │ └─Template 内置模板引擎驱动│ └─Template 内置模板引擎└─Tpl 系统模板目录
· 使用thinkPHP生成项目目录
描述:只需自己新建一个index.php文件作为入口文件,再引用tp的启动文件即可。代码如下:
//定义一个应用名称define(‘APP_NAME‘,‘demo‘);//定义要生成项目的路径define(‘APP_PATH‘,‘./demo/‘);//引入to的启动文件require ‘ThinkPHP/ThinkPHP.php‘;
项目目录结构及说明:
demo 项目文件夹
├─Common 项目公共文件目录
├─Conf 项目配置目录
├─Lang 项目语言目录
├─Lib 项目类库目录
│ ├─Action Action类库目录
│ ├─Behavior 行为类库目录
│ ├─Model 模型类库目录
│ └─Widget Widget类库目录
· ThinkPHP的MVC对应的目录,如下:
M 项目目录/应用目录/Lib/ModelV 项目目录/应用目录/TplC 项目目录/应用目录/Lib/Action
· tp的路由模式,有4种
1.PATHINFO => http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
2.普通模式 => http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2
3.REWRITE模式 => http://域名/项目名/模块名/方法名/键1/值1/键2/值2
4.兼容模式 => http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2
· 如何定义方法,并且通过路由体现出来。
先看tp自动生成的列子,打开目录demo -> Lib -> Action -> IndexAction.class.php ,代码如下:
<?php// 本类由系统自动生成,仅供测试用途class IndexAction extends Action {
//这个公共方法是tp自动生成的方法 public function index(){ $this->show(‘<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px }</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>!</p></div><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>‘,‘utf-8‘); } //这是自定义的方法 public function show(){ echo "你好,".$_GET[‘name‘]; }}
调用: http://127.0.0.1/thinkPHP_test/index.php/Index/show?name=我是小明
详解:
1、大家有没有想过为什么IndexAction.class.php这个文件要这样命名?因为????Action.class.php这样的格式是tp对类文件的命名规则。前面的Index是对于哪个入口文件。
2、上面调用的URL,各个节点表示如下:
index.php是项目的入口文件,
/Index 表示是Index模块
/show 表示Index模块下的show方法
?name=我是小明 表示show方法下的参数,就是我们上面的自定义方法的中,通过$_GET获取回来的参数。
ThinkPHP_3.1入门