2017 © Pedro Peláez
 

library cartographer

A PHP sitemap generation tool.

image

tackk/cartographer

A PHP sitemap generation tool.

  • Friday, May 1, 2015
  • by dhrrgn
  • Repository
  • 19 Watchers
  • 328 Stars
  • 104,545 Installations
  • PHP
  • 2 Dependents
  • 2 Suggesters
  • 21 Forks
  • 3 Open issues
  • 5 Versions
  • 7 % Grown

The README.md

Cartographer

Latest Stable Version Total Downloads License, (*1)

Build Status Code Coverage Scrutinizer Code Quality, (*2)

A sitemap generation tool for PHP following the Sitemap Protocol v0.9., (*3)

Cartographer can handle Sitemaps of any size. When generating sitemaps with more than 50,000 entries (the limit), the sitemap becomes a "map of maps" (i.e. nested sitemaps)., (*4)

Supported PHP/HHVM Versions

  • PHP: >= 5.4 (including 5.6 beta1)
  • HHVM: >= 3.0.0

Installation

Composer CLI

composer require tackk/cartographer:1.0.*

composer.json

``` json { "require": { "tackk/cartographer": "1.0.*" } }, (*5)


## Basic Sitemap If you have a sitemap that is under 50,000 items, you can just use the Sitemap class, and avoid the Sitemap Generator. ``` php use Tackk\Cartographer\Sitemap; use Tackk\Cartographer\ChangeFrequency; $sitemap = new Tackk\Cartographer\Sitemap(); $sitemap->add('http://foo.com', '2005-01-02', ChangeFrequency::WEEKLY, 1.0); $sitemap->add('http://foo.com/about', '2005-01-01'); // Write it to a file file_put_contents('sitemap.xml', (string) $sitemap); // or simply echo it: header ('Content-Type:text/xml'); echo $sitemap->toString();

Output

``` xml http://foo.com2005-01-02T00:00:00+00:00weekly1http://foo.com/about2005-01-01T00:00:00+00:00, (*6)


## Basic Sitemap Index If you want to build a Sitemap Index, separate from the Sitemap Generator, you can! ``` php $sitemapIndex = new Tackk\Cartographer\SitemapIndex(); $sitemapIndex->add('http://foo.com/sitemaps/sitemap.1.xml', '2012-01-02'); $sitemapIndex->add('http://foo.com/sitemaps/sitemap.2.xml', '2012-01-02'); // Write it to a file file_put_contents('sitemap.xml', (string) $sitemapIndex); // or simply echo it: header ('Content-Type:text/xml'); echo $sitemapIndex->toString();

Output

``` xml http://foo.com/sitemaps/sitemap.1.xml2012-01-02T00:00:00+00:00http://foo.com/sitemaps/sitemap.2.xml2012-01-02T00:00:00+00:00, (*7)


## Sitemap Factory The Sitemap Factory create Sitemaps and Sitemap Indexes and writes them to the Filesystem. Is is can be used to generate full Sitemaps with more than **50,000** URLs. If more than one sitemap is generated, it will create a Sitemap Index automatically. ### Instantiating The factory uses [Flysystem](http://flysystem.thephpleague.com/) to write the sitemaps. This means you can write the sitemaps to Local Disk, S3, Dropbox, wherever you want. ``` php <?php use League\Flysystem\Filesystem; use League\Flysystem\Adapter\Local as LocalAdapter; $adapter = new LocalAdapter(__DIR__.'/sitemaps'); $filesystem = new Filesystem($adapter); $sitemapFactory = new Tackk\Cartographer\SitemapFactory($filesystem);

Base URL

The Base URL is used when generating the Sitemap Indexes, and for the returned entry point URL., (*8)

You can set the Base URL:, (*9)

``` php $sitemapFactory->setBaseUrl('http://foo.com/sitemaps/');, (*10)


You can get the current base URL using `getBaseUrl()`. ### Creating a Sitemap To create a sitemap you use the `createSitemap` method. This method requires an `Iterator` as its only parameter. ``` php <?php use League\Flysystem\Filesystem; use League\Flysystem\Adapter\Local as LocalAdapter; $adapter = new LocalAdapter(__DIR__.'/sitemaps'); $filesystem = new Filesystem($adapter); $sitemapFactory = new Tackk\Cartographer\SitemapFactory($filesystem); // Create an Iterator of your URLs somehow. $urls = get_url_iterator(); // Returns the URL to the main Sitemap/Index file $mainSitemap = $sitemapFactory->createSitemap($urls);

Return Value

The two creation methods (createSitemap and createSitemapIndex) will return the URL of the root sitemap file. If there is only 1 sitemap created, it will return just that URL. If multiple sitemaps are created, then a Sitemap Index is generated and the URL to that is returned., (*11)

List of Created Files

You can get a list (array) of files the Factory has created by using the getFilesCreated method., (*12)

``` php $files = $sitemapFactory->getFilesCreated();, (*13)


## Running Tests *This assumes you have ran `composer update`.* From the repository root, run:

vendor/bin/phpunit ```, (*14)

The Versions

01/05 2015

dev-master

9999999-dev

A PHP sitemap generation tool.

  Sources   Download

MIT

The Requires

 

The Development Requires

generator sitemap

01/05 2015

1.1.0

1.1.0.0

A PHP sitemap generation tool.

  Sources   Download

MIT

The Requires

 

The Development Requires

generator sitemap

03/05 2014

1.0.2

1.0.2.0

A PHP sitemap generation tool.

  Sources   Download

MIT

The Requires

 

The Development Requires

02/05 2014

1.0.1

1.0.1.0

A PHP sitemap generation tool.

  Sources   Download

MIT

The Requires

 

The Development Requires

02/05 2014

1.0.0

1.0.0.0

A PHP sitemap generation tool.

  Sources   Download

MIT

The Requires

 

The Development Requires