面向对象php学习笔记24:MVC思想,Smarty模板[smarty概述,smarty配置,smarty技术-模板变量/内置函数(if分支结构,循环结构)/外部函数]

https://www.bilibili.com/video/av33662479?p=60

MVC思想

代码发展历程

MVC思想介绍


总结

MVC代码设计

项目单一入口

Smarty模板

模板技术原理




总结

使用smarty

官网https://www.smarty.net/下载smarty

smarty文件夹说明

在自己的项目中使用smarty


以下为使用smarty简单示例,1个html文件,1个php文件:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		{$hello}
	</body>
</html>
<?php
//smarty使用简单示例

//加载smarty文件
include_once 'smarty/Smarty.class.php';

//实例化smarty
$smarty=new Smarty();

//提供数据
$smarty->assign('hello','hello, world!');

//显示模板文件
$smarty->display('030htmlfile.html');

网页显示结果:

总结

Smarty配置


总结

Smarty技术详解

https://www.bilibili.com/video/av33662479?p=69

模板变量







总结

内置函数

分支结构

循环结构






|

总结

以下是内部函数简单示例,含1个php和1个模板html文件:

<?php
//smarty内置函数示例

//加载smarty文件
include_once 'smarty/Smarty.class.php';

//实例化smarty
$smarty=new Smarty();

$arr=array(
	'username'=>'张三',
	'password'=>'123456'
);

//分配数组
$smarty->assign('user',$arr);//传个数组在模板文件中演示循环遍历

$smarty->assign('arr',array());//传个空数组给模板文件,以免php报错

//显示模板文件
$smarty->display('033.html');
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		smarty内置函数示例<br>
		(分支if示例)<br> 
		{if isset($smarty.post.username)}
			{$smarty.post.username}
		{else}
			没有数据<br>
		{/if}
				
		(循环示例)<br>
		{foreach from=$user key='k' item='v'}
			{$k}:{$v@key}:{$v}<br>
		{/foreach}
		
		(循环的属性示例)<br>
		{assign var='user1' value=array('username','age','gender')}
		<table border=1>
		{foreach $user1 as $value}
			{if $value@first} 第1次执行循环
			<tr>
				<th>下标</th>
				<th>循环次数</th>
				<th>值</th>
			</tr>
			{/if}
			<tr> 
				<td>{$value@index}</td>
				<td>{$value@iteration}</td>
				<td>{$value}</td>
			</tr>
		{/foreach}
		</table>
		{if $value@show}循环有数据,一共循环了{$value@total}次{/if}<br>
		
		(foreachelse示例)<br>
		{foreach from=$arr item='val'}
			{$val}
		{foreachelse}
			没有数据~o~
		{/foreach}
		<br>
		
		(section示例)<br>
		{assign var='arr' value=array(1,2,3,4,5,6)}
		{section name= 'id' loop=$arr max=4}
		{$arr[id]}
		{/section}<br>
		
		(literal保护前端代码示例)<br>
		<div>
			<a href= "javascript:show()">点我</a>
		</div>
		{literal}
		<script>
			function show(){
				alert('hello world');
			}
		</script>
		{/literal}
	</body>
</html>

外部函数



以下是外部函数简单示例,含1个php和1个模板html文件:

<?php
//smarty外部函数示例

//加载smarty文件
include_once 'smarty/Smarty.class.php';

//实例化smarty
$smarty=new Smarty();

//自定义函数
function show(){
	echo __FUNCTION__;
}

//显示模板文件
$smarty->display('034.html');
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		smarty外部函数示例<br>
		(系统函数示例)<br>
		abcd的长度是{strlen('abcd')}个字节<br>
		
		(自定义函数(在php文件中定义)示例)<br>
		使用自定义函数:{show()}<br>		
	</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值