PHP原生模板

使用原生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";
    }
}
文章导航