Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

17 Commits

Repository files navigation

Sitemap Generator

Описание

Sitemap Generator - это PHP-библиотека для генерации карты сайта в форматах XML, CSV и JSON. Поддерживает валидацию входных данных и обработку ошибок.

Возможности

  • Генерация карты сайта в XML, CSV, JSON
  • Создание директорий при отсутствии
  • Исключения при ошибках (невалидные данные, ошибки записи в файл, неподдерживаемый формат)

Установка

Библиотека доступна через Composer:

composer require scarlet/sitemap-generator

Использование

Пример кода

require_once__DIR__ . '/vendor/autoload.php';
useVendor\SitemapGenerator\SitemapGenerator;
useVendor\SitemapGenerator\Exceptions\InvalidDataException;
useVendor\SitemapGenerator\Exceptions\FileWriteException;
useVendor\SitemapGenerator\Exceptions\UnsupportedFormatException;
useVendor\SitemapGenerator\Exceptions\DuplicateUrlException;
$urls = [
[
'loc' => 'https://site.ru/',
'lastmod' => '2020-12-14',
'priority' => 1.0,
'changefreq' => 'hourly'
]
];
try {
$generator = newSitemapGenerator('xml', __DIR__ . '/sitemaps/sitemap.xml');
$generator->generate($urls);
echo"Карта сайта успешно создана!";
} catch (InvalidDataException | FileWriteException | UnsupportedFormatException | DuplicateUrlException$e) {
echo"Ошибка: " . $e->getMessage();
}

Тестирование

Для запуска тестов используйте PHPUnit:

vendor/bin/phpunit tests

Структура проекта

sitemap-generator/
├── src/
│ ├── SitemapGenerator.php
│ ├── Interface/
│ │ ├── SitemapFormatterInterface.php
│ ├── Formatters/
│ │ ├── XmlSitemapFormatter.php
│ │ ├── CsvSitemapFormatter.php
│ │ ├── JsonSitemapFormatter.php
│ ├── Exceptions/
│ │ ├── DuplicateUrlException.php
│ │ ├── InvalidDataException.php
│ │ ├── FileWriteException.php
│ │ ├── UnsupportedFormatException.php
├── tests/
│ ├── SitemapGeneratorTest.php
│ ├── XmlSitemapFormatterTest.php
│ ├── CsvSitemapFormatterTest.php
│ ├── JsonSitemapFormatterTest.php
├── composer.json
├── README.md
├── .gitignore
├── LICENSE

Лицензия

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages