robier/sitemaps

生成网站地图的库

v0.3.5 2017-11-13 15:36 UTC

This package is auto-updated.

Last update: 2024-09-13 05:09:33 UTC


README

PHP实现sitemaps.org协议。此库使用PHP生成器构建,旨在尽可能减少内存使用。

支持的网站地图格式

  • XML网站地图
  • 文本网站地图

此库还支持生成的网站地图的GZip压缩。

用法

use Robier\Sitemaps\DataProvider;

class Data implements DataProvider
{
    public function fetch(): \Iterator
    {
        for($i = 1; $i <= 500000; $i++){
            yield new Location('http://example.com/site-' . $i);
        }
    }
}
use Robier\Sitemaps\Driver\XML;
use Robier\Sitemaps\Generator;
use Robier\Sitemaps\Processor\GZip;

$writer = new XML('/tmp/', 'http://example.com/');
$generator = new Generator($writer);
$generator->data('sitemap', new Data());

// gzip enable
$generator->processor(new GZip());

foreach($generator as $item){
    // 
    // $item is instance of File/Contract
}

安装

composer require robier/sitemaps

Docker

对于开发,您可以使用Docker

tests/docker/build
tests/docker/run <command that will be send to docker contener>
tests/docker/enter
tests/docker/run xdebug <php script>

待办事项

  • 实现Atom/RSS格式
  • 编写测试
  • 添加更好的文档