用XSLT 2.0生成PHP

http://tech.ddvip.com   2007年10月25日    社区交流

内容摘要:这是由两部分组成的关于 XSLT 的系列文章的第 2 部分,Jack Herrington 将介绍如何扩展第 1 部分中建立的 XSLT 2.0 代码生成器,以便生成代码的 PHP 部分,为 Web 服务器提供数据库访问。

  这种 XML 结构和最终将看到的代码结构完全匹配。但是,要注意这些代码没有一点是 PHP 专用的。可以用该模型生成任何潜在类型化的语言。比如,只要在模型中增加适当的类型信息就可以生成 Java 代码。要了解这种 XML 构造在该方案中的重要性,看一看清单 8 中由此产生的 PHP 就知道了。

  清单 8. 输出的 Author 表

<script language="php">
class Author extends DatabaseTable {
  function Author ( ) { }
  function selectAll ( )
  {
  $dbh = getDbh();
  return $dbh->doQuery(
  "SELECT author_id, first, last FROM author"
  );
}
  function selectOne ( $author_id )
  {
  $dbh = getDbh();
  return $dbh->doQuery(
  "SELECT author_id, first, last FROM author WHERE author = ?",
  $author_id );
}
  function insert ( $first, $last )
  {
  $dbh = getDbh();
  $dbh->doCommand( "INSERT INTO author ( first, last ) VALUES ( ?, ? )",
  $first, $last );
}
}
</script>

  如果回头再看一看清单 7 中的 XML,就会发现 XML 表示中的每个标签都代表 PHP 中的一个结构。比如,模型中 insert 类型的 method 标签,以及输出类中的结果 input 函数。

  我将介绍其中的几个代码模板,说明其工作原理。

  代码模板的例子

  第一个模板是 Module 模板,用于建立新的 .php 文件,如清单 9 所示。

  清单 9. Module 模板

来源:ibm    作者:Jack Herrington    责编:豆豆技术应用

正在加载评论...