#

2016-2-15 17:19
请先登录。

创建了 #2016级面向对象程序设计(C++)# 任务:

任务09_3 一道算术题

题目描述: 根据输入的表达式,计算结果,每两个数字或运算符之间会有一排'.'将其隔开,并保证所有计算都在int范围内,下面给出全部数字及符号的图像。 .###.........###...###.........###...###...###...###...#...

视图模板部分课堂笔记

-----------------------------------------------------

视图文件与控制器动作:

1. 视图文件路径:当前模块/view/控制器名/动作名.html

2. 视图文件配置选项:

(1)'TMPL_TEMPLATE_SUFFIX'   => '.html', // 默认模板文件后缀

(2)'TMPL_L_DELIM'           => '{', // 模板引擎普通标签开始标记
    'TMPL_R_DELIM'           => '}', // 模板引擎普通标签结束标记

(3)'TMPL_LAYOUT_ITEM'       => '{__CONTENT__}', // 布局模板的内容替换标识
    'LAYOUT_ON'              => true, // 是否启用布局
    'LAYOUT_NAME'            => 'layout', // 当前布局名称 默认为layout

3. 控制器中显示视图文件的方法:

(1)$this->display( ):加载默认视图文件

(2)$this->show( ):输出文本字符串

(3)$this->fetch( ):获取并返回模板的内容(不输出)

4. T()函数:返回模板的地址

(1)模块/控制器/动作 语法规则:T('模块@控制器/动作)

(2)使用T()函数:$this->display( T('admin@index/view') ); ,显示Admin模块Index控制器Index动作所对应的视图文件

-----------------------------------------------------------

视图基本使用方法:

1. 控制器中为视图文件赋值:

(1)$this->assign( )方法:

    a. 普通变量:$this->assign('name', '张三');

    b. 数组变量:$this->assign('user', array('name' => '张三', 'age' => 18));

    c. 二维数组变量:$this->assign('users', array( array(), array() );

(2)魔术方法形式:$this->name = '张三';

2. 视图文件中输出变量值:

(1)输出普通变量:name: {$name}

(2)输出数组元素:name: {$user.name}  或 name: {$user['name']}

3. 输出系统变量和常量:

(1)输出系统变量:

    a. session变量:{$Think.session.name}

    b. get参数:{$Think.get.id}

(2)输出系统常量:

    a. 当前模块名称:{$Think.MODULE_NAME}

    b. 当前控制器名称:{$Think.CONTROLLER_NAME}

    c. 当前动作名称:{$Think.ACTION_NAME}

(3)输出配置文件中的配置项:{$Think.config.DB_HOST}

(4)输出语言变量:{$Think.lang.previous}

4. 指定默认值输出:{$name|default="默认值"}

5. 输出变量时使用函数过滤:

(1)无参函数:{$pswd|md5}

(2)有参函数:

    a. 当前变量为第1个参数:同无参函数的使用,或使用 ### 表示当前变量;{$pswd|md5}、{$pswd|md5=###}、{title|substr=###, 0, 3}

    b. 当前变量不是第1个参数:{addtime|date='Y-m-d', ###}

(3)同时使用多个函数:

    a. 基本形式:{$pswd|md5|ucfirst},相当于 ucfirst(md5($pswd))

    b. 改写形式:{:ucfirst(md5($pswd))}

6. 几个目录路径:

(1)__ROOT__: 会替换成当前网站的地址(不含域名)

(2) __APP__: 会替换成当前应用的URL地址 (不含域名)

(3)__MODULE__:会替换成当前模块的URL地址 (不含域名)

(4)__CONTROLLER__(__或者__URL__ 兼容考虑): 会替换成当前控制器的URL地址(不含域名)

(5)__ACTION__:会替换成当前操作的URL地址 (不含域名)

(6)__SELF__: 会替换成当前的页面URL

(7)__PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public/

------------------------------------------------------------------------------------------------------------------

Layout二步视图:

1. 工作原理:首先解析Layout文件,当遇到 占们符(__CONTENT__)时,自动替换为当前动作所对应的视图文件

2. 配置项:

'TMPL_LAYOUT_ITEM'       => '{__CONTENT__}', // 布局模板的内容替换标识

 'LAYOUT_ON'              => true, // 是否启用布局
 'LAYOUT_NAME'            => 'layout', // 当前布局名称 默认为layout

<?php header("Content-Type: text/html;charset=utf-8"); $str="absd敏感词sd###sd敏感词ss@@@"; $array=array("敏感词","@@@","###"); echo "字符串为:"."$...