专栏首页我的博客ThinkPHP3.1.2笔记

ThinkPHP3.1.2笔记

1.开启trace

方法一:在配置文件中添加(默认在config.php,如果定义debug模式,可以定义在debug.php) SHOW_PAGE_TRACE => 1, 方法二:在入口文件 defined(“SHOW_PAGE_TRACE”, 1); 方法三:动态设置 C(‘SHOW_PAGE_TRACE’, 1);

使用方法 trace(‘展示代码’,’info’);

2.函数库

系统函数库和项目函数库不需要加载即可试用,扩展函数库需要加载才可以用 加载函数库文件可用配置”LOAD_EXT_FILE”=>’user,db’这样可以加载项目公共目录(common)下的函数库文件user.php和db.php 可以手动加载load(“@.user”);

3.类库

显示导入import(“Think.Util.Array”);//导入基类库Util/Array.class.php文件 导入当前项目类库可用import(“@.Action.UserAction”)或者import(“APP.Action.UserAction”); 可以参考import函数代码

别名导入 在配置目录alias.php中配置别名,即可试用import(“page”);

第三方类库存放在系统扩展目录Extend下的Vendor目录 可以用Vendor(“Zend.Filter.Dir”);导入第三方

自动加载 自动加载优先级从高到底:别名自动加载=》系统规则自动加载=》自定义路径自动加载 可以配置”APP_AUTOLOAD_PATH”=>’@.Common,@Tool’加载自定义下类库

4.URL模式

配置项URL_MODEL 普通模式为0 PATHINOF模式为1 Rewrite模式为2 兼容模式为3

推荐使用PATHINFO模式开发,如果空间不支持,可以试用兼容模式或者普通模式

5.空操作和空模块—方便定义错误处理页 如果定义了空操作那么如果一个方法不存在,即使存在模板文件也会优先定向到空操作 eg:比如一个控制器中定义了_empty方法,那么即使模板中有test.html模板,但是不存在testAction,那么请求test 方法的时候会优先定位到_empty方法中

6.模块分组 配置APP_GROUP_LIST 用逗号分开,设置默认分组DEFAULT_GROUP

7.伪静态配置 ‘URL_HTML_SUFFIX’ => ‘shtml|html|xml’, 配置多个伪静态后缀

8.URL路由 开启路由URL_ROUTE_ON=>true

规则路由 格式 规则=> “分组/模块/操作?额外参数=值” 规则=> array(‘分组/模块/操作’, ‘额外参数=值’) 规则=>外部地址 规则=>array(‘外部地址’, ‘重定向代码’) 要点 :开头的是动态变量 外部地址可以引用动态变量采用:1,:2的方式 路由规则支持:id\d表示只能匹配数字 排除非数字变量:cate^add|edit 路由规则中的静态地址不分大小写

9.APACHE隐藏index.php入口文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>

10.ULR生成

在控制器中我们可以用U方法生成URL地址 比如U(“News/read?id=1”) 在不同的url模式下生成的url地址不同

在模板中我们可以用{:U(参数1,参数2…)}的方式生成URL

如果设置URL_CASE_INSENSITIVE=>true那么生成的url地址全是小写的

11.URL地址大小写 ‘URL_CASE_INSENSITIVE’ =>true 这样就不区分大小写了

12.前置操作和后置操作可以参考手册

13.跨模块调用 A方法可以实现跨模块调用其他分组下的控制器.A[项目名://][分组名]模块名 A(“User”)当前模块下的user控制器 A(“Admin://User)调用admin项目的User模块 A(“Admin/User”)调用admin分组中的User模块 A(“Admin://Tool/User”)调用Admin项目Tool分组中的User模块

R方法可以调用一个模块下的一个操作方法。R[项目名://][分组名]模块名, array(‘参数1′,’参数2’);

14.自定义提示页面模板 TMPL_ACTION_ERROR => ‘Public:error’ TMPL_ACTION_SUCCESS=>’Public:success’ 模板中可以用$msgtitle表示操作标题;$message页面提示信息;$status来表示状态 1表示成功;$waitSecond跳转等待时间 $jumpUrl跳转地址 如果是ajax提交,会自动调用ajaxReturn返回

15.重定向 在控制器中用redirect实现页面重定向功能;参数可以参考U方法

17.获取系统变量 在控制器中我们可以使用$this->方法名(“变量名,[过滤方法],[‘默认值’]); 其中方法名有_get,_post,_param,_request(REQUEST参数),_put,_session,_cookie($_COOKIE),_server($_SERVER) _globals($GLOBALS)

可以设置默认过滤函数 ‘DEFAULT_FILTER’ => ‘htmlspecialchars,strip_tags’

支持获取全部变量$this->_get();

可以试用$this->_param(0)获取PATHINFO中的第一个参数,以及获取get和post等参数,推荐使用

18.判断请求类型 isGet()判断是否是GET方式提交 isPost()判断是否是POST方式提交 isPut()判断是否是PUT方式提交 isDelete()判断是否是delete方式提交 isHead()判断是否是Head方式提交 isAjax判断是否是ajax提交,如果用Jquery类库则不需要添加隐藏域,否则需要添加一个隐藏域

19.Ajax返回 status 操作状态 info 提示信息 data 返回数据 $this->ajaxReturn(返回数据,提示信息,操作状态);

支持$data[‘status’] =1;$data[‘info’] = ‘test’;$this->ajaxReturn($data,’JSON’);

20.Action参数绑定 比如/News/read/id/1,绑定read方法,function read($id = 0) { echo $id; }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • nginx编译参数详解

    Nginx 使用 liunx/Unix 下常用的 ‘./configure && make && make install’ 过程来编译安装。 configur...

    苦咖啡
  • TP入门第二天

    1、配置说明 //’配置项’=>’配置值,配置在conf文件夹下config.php 2、Action文件定义规定 类名和文件名一样,首字母大写,后面必须要加A...

    苦咖啡
  • Windows安装MinGW使用gcc和g++命令

    MinGW 是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Wind...

    苦咖啡
  • 沪江学习Android端重构实践

    用户1907613
  • OpenResty: PHP增加数据库插件

    首先修改下php.ini 文件  告诉php当前的扩展库路径   扩展库--就是扩展的其它功能的库

    杨奉武
  • 聊聊工程级别的组件化、插件化 以及 模块化

    我们经常会听到组件化、插件化、模块化这三个概念,可是我们真的对这三个概念了解吗?明白它们三者之前的关系和区别吗?本文就我个人的理解做一下简单的总结,如有错误之处...

    進无尽
  • 6-51单片机WIFI学习(测试TCP服务器--使用串口调试助手--不连接路由器)

    上一篇连接  http://www.cnblogs.com/yangfengwu/p/8757513.html 注意:更加详细的操作请参考, http://ww...

    杨奉武
  • 如何快速高效简洁的打开软件 干净利索的windows快捷程序启动器

    也可以认为是一种形式的windows应用启动器程序---win+R快速打开应用程序

    noteless
  • Bloomreach:与EPAM合作,通过AI驱动数字体验平台提供现代化互联商务体验

    数字体验平台公司Bloomreach宣布与全球领先的数字平台工程和软件开发服务提供商EPAM Systems建立正式合作伙伴关系。

    AiTechYun
  • 浏览器HTTP请求并发数和TCP连接的关系

    浏览器对并发请求的数目限制是针对域名的,即针对同一域名(包括二级域名)在同一时间支持的并发请求数量的限制。如果请求数目超出限制,则会阻塞。因此,网站中对一些静态...

    用户1462769

扫码关注云+社区

领取腾讯云代金券