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