thinkphp3.2.3学习笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.2框架初始的目录结构如下:

1. 部署目录(或者子目录)

2. ├─index.php 入口文件

3. ├─README.md README文件

4. ├─Application 应用目录

5. ├─Public 资源文件目录

6. └─ThinkPHP 框架目录

3.2版本自带了一个完整的应用目录结构和默认的应用入口文件。其中,Application 和Public 目录下面都是空的。

README.md文件仅用于说明,实际部署的时候可以删除。

上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。

Application目录默认是空的,但是第一次访问入口文件会自动生成,参考后面的入口文件部分。

其中框架目录ThinkPHP的结构如下:

1. ├─ThinkPHP 框架系统目录(可以部署在非web目录下面)

2. │├─Common 核心公共函数目录

3. │├─Conf 核心配置目录

4. │├─Lang 核心语言包目录

5. │├─Library 框架类库目录

6. ││├─Think 核心Think类库包目录

7. ││├─Behavior 行为类库目录

8. ││├─Org Org类库包目录

9. ││├─Vendor 第三方类库目录

10. ││├─... 更多类库目录

11. │├─Mode 框架应用模式目录

12. │├─Tpl 系统模板目录

13. │├─LICENSE.txt 框架授权协议文件

14. │├─logo.png 框架LOGO文件

15. │├─README.txt 框架README文件

16. │└─index.php 框架入口文件

上述应用的目录结构只是默认设置,事实上,在实际部署应用的时候,我们建议除了应用入口文件

和Public 资源目录外,其他文件都放到非WEB目录下面,具有更好的安全性。

入口文件:

define('APP_PATH','./Apps/');

define('DIR_SECURE_', 'default.html');//支持多个安全文件写入define('DIR_SECURE_', 'index.html,index.htm');//默认的安全文件只是写入一个空白字符串,如果需要写入其他内容,可以通过DIR_SECURE_CONTENT参

数来指定define('DIR_SECURE_CONTENT', 'deney Access!');

define('RUNTIME_PA TH','./Runtime/');

define('APP_DEBUG',True);

define('THINK_PA TH',realpath('../Think').'/');

require THINK_PATH.'ThinkPHP.php';//require './ThinkPHP/ThinkPHP.php';

*配置文件的定义格式均采用返回PHP数组的方式

*惯例配置文件(位于ThinkPHP/Conf/convention.php)

*应用配置文件调用所有模块之前都会首先加载的公共配置文件(默认位于Application/Common/Conf/config.php)

获取已经设置的参数值:C('参数名称')

设置新的值:C('参数名称','新的参数值');

扩展配置可以支持自动加载额外的自定义配置文件,并且配置格式和项目配置一样。设置扩展配置的方式

如下(多个文件用逗号分隔):

// 加载扩展配置文件

'LOAD_EXT_CONFIG' => 'user,db',

获取变量

I('变量类型.变量名',['默认值'],['过滤方法'])

变量类型含义

get 获取GET参数

post 获取POST参数

param 自动判断请求类型获取GET、POST或者PUT参数

request 获取REQUEST 参数

put 获取PUT 参数

session 获取$_SESSION 参数

cookie 获取$_COOKIE 参数

server 获取$_SERVER 参数

globals 获取$GLOBALS参数

echo I('get.id'); // 相当于$_GET['id']

echo I(''); // 相当于$_GET['name']

echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0

echo I('',''); // 如果不存在$_GET['name'] 则返回空字符串

采用方法过滤:

// 采用htmlspecialchars方法对$_GET['name'] 进行过滤,如果不存在则返回空字符串echo I('','','htmlspecialchars');

// 获取整个$_GET 数组

I('get.');

由于param类型是I函数默认获取的变量类型,因此事实上param变量类型的写法可以简化为:

I('id'); // 等同于I('param.id')

I('name'); // 等同于I('')

param类型变量还可以用数字索引的方式获取URL参数(必须是PA THINFO模式参数有效,无论是GET还

是POST方式都有效),例如:当前访问URL地址是

那么我们可以通过

echo I('param.1'); // 输出2013

echo I('param.2'); // 输出06

echo I('param.3'); // 输出01

// 下面两种方式都不采用任何过滤方法

I('','','');

I('get.id','',false);

判断请求类型

常量说明

IS_GET 判断是否是GET方式提交

IS_POST 判断是否是POST方式提交

IS_PUT 判断是否是PUT方式提交

IS_DELETE 判断是否是DELETE方式提交

IS_AJAX 判断是否是AJAX提交

REQUEST_METHOD 当前提交类型

AJAX返回

$data = 'ok';

$this->ajaxReturn($data);

相关文档
最新文档