tp3.1 (2)

一、自定义函数

1、U()   url

2、C()   conf的配置数据

3、自定义函数

在用户的应用程序中有,common-》创建common.php,然后写自己的方法,并在controller中使用就好了,

4、dump()打印数组要比var_dump()更和谐

二、建立项目模板

在tpl中建立模板

建立index(表示方法)文件夹,在index中建立index.html文件

则 在 index控制器中可以 直接连接模板($this->display)

此时display的是index控制器的index方法

要使的其可以显示index控制器的test方法

$this->display('Index/test')

或者$this->display('test')

三、模板的赋值和输出

第一点:

在controller->index()中

$name="DOSON";

在tpl->index->index.html

那么如何接受$name的值:<?php  echo $name?>

第二点:

在controller->index()中

$this -> assign('name',$name);

在tpl->index->index.html

那么如何接受$name的值:<?php  echo $name?>

当使用第二种方式的时候:可以无限赋值,而使用第一种方法只能对一个数进行赋值$this->assign('name','张三')->assign('age',12);

四、tp的模板引擎

thinkphp内置引擎类:ThinkPHPLibTemplateThinkTemplate.class.php

五、模板引擎之变量输出和运算

在controller->index()中

$me['name']='yyyyy';

$me['age']=12;

$this->assign('me',$me);

在tpl->index->index.html中:

方法一:{$me['name']}

方法二:

{$me.name}

注释的方法:{//$me.name}

一个未定义的值可以设置默认值

{$me.sex|default='man'}

在模板进行运算

进行运算时必须要写成数组的形式{$me['age']+1}

六:thinkphp模板引擎之调用函数和系统参数

方法一:在controller-》index

echo $name=substr(md5($me['name']),0,5);

方法二:在tpl-》index-》index

{$me['name']|md5|substr=0,5}

时间的调用

在controller-》index

$now=time();

在tpl-》index-》index

{$now|date='Y-m-d H:i:s',###}其中###表示的是变量,即为$now

{$Think.now}

系统函数{$Think.now}
{$Think.version}
{$Think.server.http_host}

七、thinkphp模板引擎之volist和foreach 循环

在contoller中:

$person=array(
        1=>array('name'=>'jack6','age'=>'12'),    
        2=>array('name'=>'jack5','age'=>'15'),
        3=>array('name'=>'jack4','age'=>'12'),
        4=>array('name'=>'jack1','age'=>'11'),
        5=>array('name'=>'jack2','age'=>'15'),
    );
    $this->assign('person',$person);
        $this->display();

在tpl中:

<volist name="person" id="data">
{$data['name']}-----{$data['age']}<br/>
</volist>
从第二个开始,循环3个
<volist name="person" id="data" offset='1' length='3'>
{$data['name']}-----{$data['age']}<br/>
</volist>

设置默认值

<volist name="person" id="data" offset='1' length='3' empty='我没数据'>
{$data['name']}-----{$data['age']}<br/>
</volist>

foreach

<foreach name='person' item='data'>
{$data['name']} ------{$data['age']}<br/>
</foreach>

八、thinkphp的for循环

eq=        neq!=       gt>          egt>=      lt<

elt<=      heq ===    nheq!==

controller

: for($i=0;$i<10;$i++){
        echo $i;
    }

模板

<for start='1' end='10' comparision='elt' name='k'>
    {$k}<br/>
</for>

九、tp模板引擎之if判断

在controller中:

$num=10;$this->assign('num',$num);

在tpl中:

<if condition="$num gt 10">num 大于10

<elseif condition="$num lt 10 "/>num小于10

<else condition="$num eq 10"/>num等于10

</if>

输出结果为:num=10

十、tp模板引擎之switch判断

在controller中:

$name='xiaohong';$this->assign('name',$name);

在tpl中:

<switch name="name">

<case value="xiaohong|">小明,滚出去</case>

<case value="laoshi"> 小明滚</case><defalut/>小明,自己滚蛋了

</switch>

十一、tp模板引擎之比较标签

<比较标签 name="变量" value="比较的值">

</比较标签>

方法一、

<eq name="num" value="10">num=10</eq>

<neq name="num" value="10"> num!=10</neq>

方法二、

<eq name="num" value="10">num=10 <else/>num!=10</eq>

方法三、

<compare name="num" value="10"type="eq">num=10<else/>num!=10</compare>

十二、tp模板引擎之区间标签

in/notin

方法一、

<in name="num" value="1,2,4,7">在区间</in>
<notin name="num" value="1,2,4,7">不在区间</notin>

方法二、
<in name="num" value="2,4,7">在区间<else/>不在这个区间</in>

方法三、

<range name='num' value='12,2,4' type='in'>有2这个数<else/>没有</range>
between/notbetween:判断区间范围i

方法一、

<between name='num' value='1,19'>确实在这里</between><br/>
<notbetween name='num' value='13,9'>bu确实在这里</notbetween>
<br/>

方法二、
<between name='num' value='1,19'>确实在这里<else/>不再</between><br/>

十三、三元运算符

{$num>17?'大于17':‘不大于17’}

十四、模板实战

class IndexAction extends Action {
    public function index(){
  $person=array(
        1=>array('name'=>'jack1','age'=>'16'),    
        2=>array('name'=>'jack2','age'=>'17'),
        3=>array('name'=>'jack3','age'=>'18'),
        4=>array('name'=>'jack4','age'=>'19'),
    );
    $this->assign('person',$person);
        $this->display();
    }

<foreach name='person' item='data'>
    <egt name='data.age' value='18'>{$data.name}已经成年了
    <else/>{$data.name}还是个孩子</egt>
</foreach>

在模板中引入php:<php>echo $person[1]['name']</php>

十五、thinkphp的调试方法

方法一、

在app-》conf-》debug.php,在debug.php文件中可以改变config.php的值以调试

方法二、

专门给开发人员的调试

开启页面的trace信息

在debug.php文件中:‘SHOW_PAGE_TRACE'=>true,

方法三、

trace('name',C('name'));

方法四、

dump($_SERVER);

方法五、

G(‘run’);

for($i=0;$i<1000;$i++){$count+=$i;}

echo G('run','end');//单位:毫秒

做程序,复杂的逻辑:查看死循环、漫循环

原文地址:https://www.cnblogs.com/yanran/p/5120052.html