iulyanp/ sitemap-generator
网站地图生成库
v0.1.0
2017-05-29 12:22 UTC
Requires
- php: ^7.0
- symfony/filesystem: ^3.2
Requires (Dev)
- symfony/var-dumper: ^3.2
This package is not auto-updated.
Last update: 2024-09-27 00:51:25 UTC
README
网站地图生成器
网站地图生成器是一个轻量级的PHP类,可以生成网站地图。
安装
$ composer require iulyanp/sitemap-generator
工作原理
XmlSitemapGenerator类可以生成xml格式的Google网站地图。
<?php use Iulyanp\Sitemap\SitemapConfig; use Iulyanp\Sitemap\XmlSitemapGenerator; $config = new SitemapConfig('http://www.google.com', 'http://m.google.com/'); $sitemapGenerator = new XmlSitemapGenerator($config); // generate some static links $sitemapGenerator->addItem('/', '1.0', 'daily', 'now'); $sitemapGenerator->addItem('/about', '0.4', 'yearly', 'Jul 08'); $sitemapGenerator->addItem('/contact', '0.7', 'monthly', '11-11-2009'); // create the index sitemap for all generated sitemaps $sitemapGenerator->createSitemapIndex();
SitemapGenerator需要一个SitemapConfig实例,它接受第一个参数为webDomain
,可选第二个参数为mobileDomain
。当你指定第二个参数时,所有网站地图项将包含一个移动元素。
你也可以指定
- 保存网站地图的
路径
,使用`$config->setPath('/sitemaps/') - 生成网站地图的
文件名
,使用`$config->setFilename('sitemap') - 使用
baseUrl
,使用`$config->setBaseUrl('sitemap'),例如http://host.domain/{baseUrl}/{filename}
<?php require_once './vendor/autoload.php'; use Iulyanp\Sitemap\SitemapConfig; use Iulyanp\Sitemap\SitemapGeneratorInterface; use Iulyanp\Sitemap\XmlSitemapGenerator; class AppSitemap { private $sitemapGenerator; public function __construct(SitemapGeneratorInterface $sitemapGenerator) { $this->sitemapGenerator = $sitemapGenerator; } public function generate() { // generate some static links $this->sitemapGenerator->addItem('/', '1.0', 'daily', 'now'); $this->sitemapGenerator->addItem('/about', '0.8', 'monthly', 'Jun 25'); $this->sitemapGenerator->addItem('/contact', '0.6', 'yearly', '14-12-2009'); // create a DB query and dynamically generate the links for ($i = 0; $i <= 100000; $i++) { $this->sitemapGenerator->addItem('/products/' . $i . '/'); } // create the index sitemap for all generated sitemaps $this->sitemapGenerator->createSitemapIndex(); } } $config = new SitemapConfig('http://www.google.com', 'http://m.google.com/'); $config ->setPath('/testings/') ->setFilename('test') ->setBaseUrl('testing'); $sitemapGenerator = new XmlSitemapGenerator($config); $app = new AppSitemap($sitemapGenerator); $app->generate();
如果你扩展了XmlSitemapGenerator并重写了addOptionalTags
方法,你还可以为每个网站地图项添加额外的标签。