v1.0.7 2019-11-21 15:08 UTC

This package is auto-updated.

Last update: 2024-09-22 02:07:46 UTC


README

其他语言

  • 此文档的日语版本是 README-ja.md。
  • 要阅读此文档的英文版本,请继续阅读。

描述

您可以使用此库将多个文件上的重复代码汇总到一个文件中。
不同部分可以编写在XML中。

要求

  • Web服务器
  • PHP 7.3或更高版本
  • SimpleXML扩展
  • Composer

安装

在您的shell中键入以下命令

composer require nighttraveler7/xmlpage && composer install

机制

  1. 客户端请求第一个PHP文件。
  2. 在服务器端,PHP程序创建模板引擎类的实例。
  3. 程序调用实例的load_template方法。
  4. 模板引擎加载模板文件。
  5. 模板加载XML文件。
  6. 模板引擎将解析的内容回显给客户端。

用法

  • 这是xmlpages目录中XML文件的 内容。(默认路径:在您的文档根目录的 "/xmlpages/<PAGE_BASENAME_WITHOUT_EXT>.xml")

    <?xml version="1.0" encoding="utf-8" ?>
    <page>
    	<title>Helloworld</title>
    	<content><![CDATA[<p>Hello world!</p>]]></content>
    </page>
  • 这是客户端请求的第一个PHP文件的内容。

    <?php
    require_once($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');
    use nighttraveler7\XMLPage\Template;
    $template_path = $_SERVER['DOCUMENT_ROOT'] . '/template.php';  
    
    $args = array();
    
    $template = new Template($template_path);
    $template->load_template($args);
    $template->show_template();
    ?>
  • 这是通用模板文件的内容。(默认路径:在您的文档根目录的 "/template.php")

    <?php
    require_once($_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php');
    use nighttraveler7\XMLPage\XMLPage;
    
    if (!isset($page_name)) {
    	$page_name = XMLPage::get_current_page_name();
    }
    
    $xmlpage = new XMLPage($page_name);
    $xml_content = $xmlpage->xml_content;
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title><?php echo $xml_content->title; ?></title>
    </head>
    <body>
    <div class="content"><?php echo $xml_content->content; ?></div>
    </body>
    </html>