aterbonus / sitemap
PHP XML sitemap generation for PHP ^5.6 forked from "thepixeldeveloper/sitemap"
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 38
pkg:composer/aterbonus/sitemap
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ^5
README
WARNING: This is a quick repo from thepixeldeveloper/sitemap to make it work on PHP ^5.6. You should use the original repo if you have access to PHP 7. Don't expect updates.
Installation
composer require "Aterbonus/sitemap"
Basic Usage
Generating a typical (<urlset>) sitemap.
<?php use Aterbonus\Sitemap\Urlset; use Aterbonus\Sitemap\Url; use Aterbonus\Sitemap\Drivers\XmlWriterDriver; $url = new Url($loc); $url->setLastMod($lastMod); $url->setChangeFreq($changeFreq); $url->setPriority($priority); $urlset = new Urlset(); $urlSet->add($url); $driver = new XmlWriterDriver(); $urlset->accept($driver); echo $driver->getOutput();
Generating a parent (<sitemapindex>) sitemap.
<?php use Aterbonus\Sitemap\SitemapIndex; use Aterbonus\Sitemap\Sitemap; use Aterbonus\Sitemap\Drivers\XmlWriterDriver; // Sitemap entry. $url = new Sitemap($loc); $url->setLastMod($lastMod); // Add it to a collection. $urlset = new SitemapIndex(); $urlSet->add($url); $driver = new XmlWriterDriver(); $urlset->accept($driver); echo $driver->output();
Extensions
The following extensions are supported: Image, Link, Mobile, News and Video. They work in the following way (taking image as an example):
<?php use Aterbonus\Sitemap\Urlset; use Aterbonus\Sitemap\Url; use Aterbonus\Sitemap\Extensions\Image; $url = new Url($loc); $url->setLastMod($lastMod); $url->setChangeFreq($changeFreq); $url->setPriority($priority); $image = new Image('https://image-location.com'); $url->addExtension($image); ...
Advanced Usage
Processing Instructions
You can add processing instructions on the output as such.
<?php use Aterbonus\Sitemap\Drivers\XmlWriterDriver; $driver = new XmlWriterDriver(); $driver->addProcessingInstructions('xml-stylesheet', 'type="text/xsl" href="/path/to/xslt/main-sitemap.xsl"');
Which will add before the document starts.
<?xml-stylesheet type="text/xsl" href="/path/to/xslt/main-sitemap.xsl"?>
Comments
Comments are useful for information such as when the file was created.
<?php use Aterbonus\Sitemap\Drivers\XmlWriterDriver; $date = date('Y-m-d H:i:s'); $driver = new XmlWriterDriver(); $driver->addComment('This XML file was written on ' . $date . '. Bye!');
Which will render out.
<?xml version="1.0" encoding="UTF-8"?> <!--This XML file was written on 2018-06-24 15:57:23. Bye!-->