ayom413 / sitemap-generator
SitemapGenerator 是一个库,允许您从数据数组中生成 .xml、.json 和 .csv 文件
dev-main
2023-08-30 18:05 UTC
This package is auto-updated.
Last update: 2024-09-30 01:46:46 UTC
README
SitemapGenerator 是一个库,允许您从数据数组中生成 .xml、.json 和 .csv 文件。
安装
您可以直接从 Github 下载此库,或者通过使用 composer。下载的 composer 命令:composer require ayom413/sitemap-generator:dev-main。之后,在您的 PHP 文件中包含 SitemapGenerator 类
require_once './SitemapGenerator/SitemapGenerator.php';
用法
首先,您需要为页面数据创建数据数组、您想要生成的文件类型以及文件路径。之后,您需要创建 SitemapGenerator 类的新实例。
$page = [ [ 'loc' => 'https://site.ru/news', 'lastmod' => '2020-12-14', 'priority' => '1', 'changefreq' => 'hourly', ], ]; $fileType = "json"; // or "csv", or "xml" $filePath = "./sitemap_location"; $generator = new SitemapGenerator($page, $fileType, $filePath);
最后,调用 generate() 方法来创建站点地图
$generator->generation(); print_r($generator);
类结构
该库由多个类和接口组成:SitemapGenerator 类是负责生成站点地图的主要类。
Generator
是一个抽象类,它定义了站点地图生成器的生成方法。
DataGenerator
、CsvGenerator
、JsonGenerator
和 XmlGenerator
类实现了主要的站点地图生成。
ValidateData
类包含验证输入数据、文件类型和文件路径的方法。
InvalidData
、InvalidDataType
和 InvalidFilePath
类是库在输入无效或使用不当的情况下抛出的异常。
示例
<?php use SitemapGenerator\SitemapGenerator; require 'vendor\autoload.php'; $page = [ [ 'loc' => 'https://site.ru/news', 'lastmod' => '2020-12-14', 'priority' => '1', 'changefreq' => 'hourly', ], [ 'loc' => 'https://site.ru/about', 'lastmod' => '2020-12-07', 'priority' => '0.6', 'changefreq' => 'weekly', ], [ 'loc' => 'https://site.ru', 'lastmod' => '2020-12-09', 'priority' => '0.1', 'changefreq' => 'daily', ], ]; $fileType = 'json'; $fPath = '/result/test/sitemap'; $generator = new SitemapGenerator($page, $fileType, $fPath); $generator->generation(); print_r($generator->generation()); $fileType = 'csv'; $fPath = '/result/test/sitemap'; $generator = new SitemapGenerator($page, $fileType, $fPath); $generator->generation(); print_r($generator->generation()); $fileType = 'xml'; $fPath = '/result/test/sitemap'; $generator = new SitemapGenerator($page, $fileType, $fPath); $generator->generation(); print_r($generator->generation()); print_r('Sitemap is ready!');
许可
此库在 Apache-2.0 许可下分发。