- 论坛徽章:
- 1
|
[模板] SmartTemplate(适用于企业级PHP开发的模板引擎)
SmartPHP 例子: begin end
begin ... end 结构提供了一种方法,使用数字索引数组来输出重复的相似的内容。数字索引数组的每一个元素,应该是一个散列数组,<!-- begin -->; and <!-- end -->; 标签类似一个小的模板,他分析内嵌的模板片断,并使用这个散列数组来生成内容。
每个散列数组可以使用以下的两个扩展参数:
ROWCNT :当前元素的在父数组之中的实际位置. (0,1,2,3,...n)
ROWBIT : 表示ROWCNT的二进制字节的最后一位,也就是奇偶值. (0,1,0,1,0,1,...)
begin ... end 块可以很容易的嵌套使用,他们会被自动的递归分析.
begin_end.php: ( Download)
- <?php
- require_once "class.smarttemplate.php";
- $page = new SmartTemplate("begin_end.html");
- $users = array(
- array( 'NAME' =>; 'John Doe', 'GROUP' =>; 'ADMIN' ),
- array( 'NAME' =>; 'Jack Doe', 'GROUP' =>; 'SUPPORT' ),
- array( 'NAME' =>; 'James Doe', 'GROUP' =>; 'GUEST' ),
- array( 'NAME' =>; 'Jane Doe', 'GROUP' =>; 'GUEST' ),
- );
- $page->;assign( 'users', $users );
- $page->;output();
- ?>;
复制代码
begin_end.php使用的模板如下:
begin_end.html: ( Download)
- <style type="text/css">;
- .col0 { background-color: #D0D0D0; }
- .col1 { background-color: #F0F0F0; }
- </style>;
- <table border="1" cellpadding="2" cellspacing="0">;
- <tr>;
- <th>; No </th>;
- <th>; Username </th>;
- <th>; Usergroup </th>;
- </tr>;
- <!-- BEGIN users -->;
- <tr class="col{ROWBIT}">;
- <td>; {ROWCNT} </td>;
- <td>; {NAME} </td>;
- <td>; {GROUP} </td>;
- </tr>;
- <!-- END users -->;
- </table>;
复制代码
begin_end.php的运行效果如下:
输出: ( 查看)
- <style type="text/css">;
- .col0 { background-color: #D0D0D0; }
- .col1 { background-color: #F0F0F0; }
- </style>;
- <table border="1" cellpadding="2" cellspacing="0">;
- <tr>;
- <th>; No </th>;
- <th>; Username </th>;
- <th>; Usergroup </th>;
- </tr>;
- <tr class="col0">;
- <td>; 0 </td>;
- <td>; John Doe </td>;
- <td>; ADMIN </td>;
- </tr>;
- <tr class="col1">;
- <td>; 1 </td>;
- <td>; Jack Doe </td>;
- <td>; SUPPORT </td>;
- </tr>;
- <tr class="col0">;
- <td>; 2 </td>;
- <td>; James Doe </td>;
- <td>; GUEST </td>;
- </tr>;
- <tr class="col1">;
- <td>; 3 </td>;
- <td>; Jane Doe </td>;
- <td>; GUEST </td>;
- </tr>;
- </table>;
复制代码 |
|