thinkphp 杂项(3.2.3)
G('start');//时间描点start
php代码。。。。
G('end');//时间描点end
echo G('start','end',4).'-----------'; 时间统计
echo G('start','end','m');内存统计
echo parse_name('java php python',1); //1是java编码风格, 0 是c 编码风格
layout渲染(等同于python的装饰器):1方法在配置里开启 'LAYOUT_ON'=>true, 'LAYOUT_NAME'=>'layout'(指定的layout文件 ),2方法动态的在控制器里开启layout(true),就只是这个模板会被渲染。
widget渲染输出:
模块下建立Widget文件夹,创建widget如(TestWidget) 继承Controller 比如有个方法good($name,$age) return 'hello'.$name'.'年龄'.$age;前台调用 {:W('Test/good',array('allen','18'))} ,当然也可以传入变量 如 {:W('Test/good',array('allen',$age))} ,目前觉得这人方法的好处是可以方便页面调用,当然他的方法也可被控制器调用。
错误地址的重定向:
入品文件 必须要关闭app_debug 设为 false
'ERROR_PAGE' =>'index.html',设为这个是时候是把错误的跳到当当前的控制器,如果没有此控制器就会跳到index的控制器
行为设置注意事项(在Home模块下的):
1.在Home建一个Behavior文件夹,新建一个TestBehavior.class.php(没有class调用时找不到行为)必须是run入口
2.在tags.php注册行为:'test' => array('Home\\Behavior\\TestBehavior'),
3.在用的地方调用 tag('test',参数);这个参数可选但必须是先定义了的,大B方法调用的时候传参B('Home\Behavior\Test','',$name)
4.调用内部的行为 B('Behavior\BrowserCheck');这个是防刷新,没有东西输出了
原生php 的一些类
php version >5.5.0 yield 能知道yield的一个功能就是能有效的降低迭代的内存开销(里面所有的中间变量都只使用一个内存$i)。
function xrange($start, $end, $step = 1) {
for ($i = $start; $i <= $end; $i += $step) {
yield $i;
}
}
foreach (xrange(1, 1000000) as $num) {
echo $num."\n";
}
SplFixedArray 是一个固定的数组长度 例 $new = new \SplFixedArray(2);初始化这个数组 长度是2(这里是在th的框架所以用前面有\)
SplFixedArray::fromArray($new1,false) 方法
//第二参数默认为true的话,保持原索引,如果为false的话,就重组索引; 例 :$arrObj = SplFixedArray::fromArray($new1);
SplFixedArray 这个是返回是一个对象,可以用$arrObj->toArray();方法转回数组
跌代
private $array = array();
private $valid = FALSE;
function __construct($array){
$this->array = $array;
}
function rewind(){
$this->valid = ( FALSE !== reset($this->array));
}
function current(){
return current($this->array);
}
function key(){
return key($this->array);
}
function next(){
$this->valid = ( FALSE !== next($this->array));
}
function valid(){
return $this->valid;
}
跌代是一种惰性加载,所以他的性能是比foreach好(foreach 是一次把所有的数据 读入内存,这对于大数据会很消耗内存的),跌代如果能跟之前的yield()结合起来性能应该会很高。
http_build_query 这个魔术方法 $_arr = array('action'=>'show','page'=>'2'); http_build_query($_arr); echo $_arr; action=show&page=2
thinkphp 杂项(3.2.3)的更多相关文章
- thinkphp杂项功能(主干)
thinkphp杂项功能(主干) 一.总结 1.杂项功能:杂项里面我需要有点印象的是五个:缓存,多语言,图像处理,文件处理,单元测试 二.thinkphp杂项功能(主干) thinkphp扩展杂项功能 ...
- Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一)
原文:Thinkphp框架拓展包使用方式详细介绍--验证码实例(十一) 拓展压缩包的使用方式详细介绍 1:将拓展包解压:ThinkPHP3.1.2_Extend.zip --> 将其下的 \ ...
- 嘶吼CTF2019总结(Web部分题目复现以及部分杂项)
easy calc 这次的比赛自己一题都没有做出来,赛后看题解的时候很难受,其实有很多东西自己其实是可以做出来的,但是思路被限制了,可能这就是菜吧. 首先web题目就是一个easy calc,emmm ...
- 强哥ThinkPHP学习笔记
TP框架:1.模板引擎2.MVC设计模式3.常用操作类 模板引擎和框架区别1.模板引擎只是框架中用来做php和html分离 MVC设计模式M model 数据模型V view 视图C control ...
- 制作类似ThinkPHP框架中的PATHINFO模式功能
一.PATHINFO功能简述 搞PHP的都知道ThinkPHP是一个免费开源的轻量级PHP框架,虽说轻量但它的功能却很强大.这也是我接触学习的第一个框架.TP框架中的URL默认模式即是PathInfo ...
- 在 SAE 上部署 ThinkPHP 5.0 RC4
缘起 SAE 和其他的平台有些不同,不能在服务器上运行 Composer 来安装各种包,必须把源码都提交上去.一般的做法,可能是直接把源码的所有文件复制到目录中,添加到版本库.不过,这样就失去了与上游 ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- thinkphp数据的查询和截取
public function NewsList(){ $this->assign('title','news'); $p = I('page',1); $listRows = 6; $News ...
随机推荐
- 为什么print在python3中变成了函数?
转自:http://www.codingpy.com/article/why-print-became-a-function-in-python-3/ 在Python 2中,print是一个语句(st ...
- WPF资源字典的使用【转】
资源字典出现的初衷就在于可以实现多个项目之间的共享资源,资源字典只是一个简单的XAML文档,该文档除了存储希望使用的资源之外,不做任何其它的事情. 1. 创建资源字典 创建资源字典的过程比较简单,只 ...
- python基础回顾1
定义 tuple(元组), list (表) #!/usr/bin/env python # encoding: utf-8 a = 10 #定义一直变量,无需声明 s1 = (2,1.3,'love ...
- 设计模式 “续”
观察者模式 再次申明,本文学习自 程杰 兄的 "大话设计模式" 根据书中的内容和自己的体会而来. 观察者模式也叫 发布.订阅模式,在这个模式里,一个目标物件管理所有依赖它的观察者物 ...
- IE浏览器不能访问网页,google可以访问
现象:google浏览器可以进行网络访问,ie不能访问 原因:代理服务修改了局域网配置脚本 解决: Internet选项---连接---局域网设置: 去除勾选 “使用自动配置脚本”
- 精简高效的css命名准则
对于css,为了避免样式冲突,我们总会赋予相当特殊的命名,或是在选择符上添加html标记,或是使用层级.我们为避免在冲突上做文章,就会把代码的命名变得复杂化. 如果css的重用性越高,相比就越高效.如 ...
- asp.net中套用母版页之后的findcontrol
套用模板页之后,如果要在内容页中查找某个控件,需要先找到模板页中的ContentPlaceHolder,在通过ContentPlaceHolder查找代码,如下: LinkButton btn = t ...
- 大熊君学习html5系列之------Online && Offline(在线状态检测)
一,开篇分析 Hi,大家好,给大家拜个晚年!大熊君又和大家见面了,(*^__^*) 嘻嘻……,这系列文章主要是学习Html5相关的知识点,以学习API知识点为入口,由浅入深的引入实例,让大家一步一步的 ...
- unix编程书中的 ourhdr.h代码
真心不知到里面写的具体什么意思,先记下吧. /*Our own header, to be included after all standard system headers*/ #ifndef _ ...
- [Data Structure & Algorithm] 八大排序算法
排序有内部排序和外部排序之分,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.我们这里说的八大排序算法均为内部排序. 下图为排序 ...