使用原生PHP作为模板语言
推荐:流程控制的替代语法
Smarty 的 if
{if $name == "vip"}
<h1>你好Vip</h1>
{elseif $name == "normal"}
<h1>你好普通用户</h1>
{else}
<h1>你好游客</h1>
{/if}
PHP 的 if
<?php if ($name == "vip"): ?>
<h1>你好Vip</h1>
<?php elseif ($name == "normal"): ?>
<h1>你好普通用户</h1>
<?php else: ?>
<h1>你好游客</h1>
<?php endif; ?>
PHP遍历$_SERVER
<?php foreach ($_SERVER as $key => $value) : ?>
<?= $key ?> 的值为:<?=$value?><br>
<?php endforeach ?>
这儿的演示只是我个人的写法,大家有别的方法可以随意
我们可以在公共(模块)控制器中定义一个存放模板目录路径的常量或是变量(也可以在配置文件里设置,通过cofing()
函数调用),比如:
<?php
/**
* 前台公共控制器,继承控制器基类
*/
namespace apphomecontroller;
class Common
{
//模板目录
public $tpl_dir;
public function __construct()
{
$this->tpl_dir = APP_PATH . "home/view/default/";
}
}
提示:在模板开发时需要指定模板位置时,需要灵活运用几个内置的框架路径常量与URL常量,具体请参考内置常量
接着在子控制器中继承公共控制器,直接需要调用模板文件的地方include就行
<?php
/**
* 首页控制器,继承公共控制器类
*/
namespace apphomecontroller;
class Index extends Common
{
public function index()
{
//定义一些常量
include $this->tpl_dir . "index/index.php";
}
}