首页 > 代码库 > 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入门