本章节总结与练习

原创 2019-01-14 13:42:31 131
摘要:<?php //开启session session_start(); //引入smarty模板配置文件 require  __DIR__.'\config\config.php'; //1.变量 $name = '子张占'; //模板赋值 $smarty->assign('name',$name)
<?php
//开启session
session_start();
//引入smarty模板配置文件
require  __DIR__.'\config\config.php';

//1.变量
$name = '子张占';
//模板赋值
$smarty->assign('name',$name);

//2.索引数组
$arr = ['子张占','小明','小红','汤汤'];
//模板赋值
$smarty->assign('arr',$arr);

//3.关联数组
$arr1 = ['name'=>'子张占','age'=>19,'sex'=>'男'];
//模板赋值
$smarty->assign('arr1',$arr1);

//4.自定义函数
function add($a,$b){
    return $a+$b;
}

//5.对象中的属性
class ob{
    public $name = '子张占';
    function age(){
        return $this->name.'的年龄是'.'19';
    }
}
//实例化类
$ob = new ob();
//模板赋值
$smarty->assign('ob',$ob);

//常量
const NAME = 'php中文网';
//常量作用域是全局,不必模板赋值可以直接输出

//超全局变量
$_POST['age'] = 19;
$_GET['name'] = '麻球';


//最后模板渲染
$smarty->display(__DIR__ . '\temp\demo01.php');

?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
 <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
 <title>Bootstrap 101 Template</title>

 <!-- Bootstrap -->
 <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">

 <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
</head>
<body>
{*访问变量*}
<div class="panel panel-default">
    <h2>变量</h2>
    <h1>我的名字:{$name}</h1>
</div>
{*访问索引数组*}
<div class="panel panel-default">
    <h2>索引数组</h2>
    <h1>我的名字:{$arr.0}</h1>
    <h2>你是:{$arr[2]}</h2>
</div>
{*访问关联数组*}
<div class="panel panel-default">
    <h2>关联数组</h2>
    <h1>我的名字:{$arr1['name']}</h1>
    <h2>我的年龄:{$arr1['age']}</h2>
    <h3>我的性别:{$arr1['sex']}</h3>
</div>
{*访问自定义函数*}
<div class="panel panel-default">
    <h2>自定义函数</h2>
    <h1>和:{add(1,1)}</h1>
</div>
{*访问对象中方法*}
<div class="panel panel-default">
    <h2>对象中的方法</h2>
    <h1>{$ob->age()}</h1>
</div>
{*访问对象中的属性*}
<div class="panel panel-default">
    <h2>对象中的属性</h2>
    <h1>姓名是:{$ob->name}</h1>
</div>
{*访问常量*}
<div class="panel panel-default">
    <h2>常量</h2>
    <h1>网站:{$smarty.const.NAME}</h1>
</div>
{*访问超全局变量*}
<div class="panel panel-default">
    <h2>超全局变量</h2>
    <h1>姓名:{$smarty.post.age}</h1>
    <h1>年龄:{$smarty.get.name}</h1>
</div>
</body>
</html>

2.jpg

运行的结果

123.jpg

批改老师:天蓬老师批改时间:2019-01-14 14:04:29
老师总结:可以能模型赋值是任何一个模板引擎必备的功能之一, 超全局变量不用事先赋值,因为它是预置的, 作业 做得不错

发布手记

热门词条