Skip to content

快速上手

zin 还在成长中

zin 还处于开发阶段,一些概念和 API 可能会不断迭代更新。虽然 zin 支持在任何 PHP 环境中使用,但目前只对 ZentaoPHP 框架进行了适配。zin 的实现代码包含在禅道开源版仓库中,本文档中的一些示例也会以禅道 ZentaoPHP 开发环境为主。

快速体验

假设当前目录结构如下:

ini
zin_demo/
└── zin/
    ├── core/
    ├── wg/
    └── zin.php

其中的 zin_demo/zin/ 目录为 zin 库源码目录,在 zin_demo/ 目录下创建 demo.php 文件,并写入如下内容:

php
/* 1. 使用 zin 相同的命名空间,可以简化方法名和避免名称冲突 */
namespace zin;

/* 2. 引入 zin 库文件 */
include 'zin/zin.php';

/* 3. 向页面插入一个 <h1>Hello world!</h1> */
h1('Hello world!');

/* 4. 渲染页面 */
render();

用 WebServer 访问 zin_demo/demo.php 文件将看到如下内容:

输出的 HTML 为:

html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="renderer" content="webkit">
</head>
<body>
  <h1>Hello world!</h1>
</body>
</html>

禅道中的例子

下面以使用 zin 实现禅道项目集列表页面为例,原 view 文件为 module/program/view/browse.html.php

1. 创建 view 文件

创建 module/program/ui/browse.html.php 文件,并写入如下内容:

php
namespace zin;

2. 定义页面要用到的数据

提前定义页面构建时需要的配置和数据。

php
namespace zin;

/* 定义页面结构中要用到的数据 */
$headingSetting     = ...; // 页面顶部左侧标题区域数据
$navbarSetting      = ...; // 页面顶部导航数据
$userToolbarSetting = ...; // 页面顶部右侧用户工具栏数据
$mainMenuSetting    = ...; // 页面主体部分菜单数据
$dTableSetting      = ...; // 页面数据表格定义数据

3. 定义页面 UI 结构

最后调用各种部件实例化方法来创建页面。

php
namespace zin;

/* 定义页面结构中要用到的数据 */
$headingSetting     = ...; // 页面顶部左侧标题区域数据
$navbarSetting      = ...; // 页面顶部导航数据
$userToolbarSetting = ...; // 页面顶部右侧用户工具栏数据
$mainMenuSetting    = ...; // 页面主体部分菜单数据
$dTableSetting      = ...; // 页面数据表格定义数据

/* 调用 header 部件定义页面头部 */
header
( 
    set('heading', $headingSetting), 
    set('navbar',  $navbarSetting), 
    set('userToolbar', $userToolbarSetting), 
); 

/* 调用 main 定义页面主题部分 */
main
( 
    mainMenu(set($mainMenuSetting)), 
    dTable(set($dTableSetting)); 
); 
php
/* 待补充 */

用浏览器访问 http://localhost/program-browse.html 即可查看实际效果。

继续学习

如果你还没有阅读 为何用 zin?,强烈建议先阅读一下。如果已经感觉良好,可以从下面的页面开始:

https://zentao.net