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
  • 326 Stars
  • 82,383 Installations
  • PHP
  • 2 Dependents
  • 2 Suggesters
  • 21 Forks
  • 3 Open issues
  • 5 Versions
  • 14 % 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

sitemap generator

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

We request your permission to obtain statistical data of your navigation on this website, in compliance with Royal Decree-Law 13/2012 (Spain). If you continue browsing, we consider that you accept the use of cookies. OK | More information