不喜爱 / 网站地图生成器
生成网站地图数据的工具
1.0.1
2021-10-25 08:38 UTC
Requires
- php: ^7.4|^8
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-25 15:02:20 UTC
README
概览
生成sitemap.xml文件意味着要么编写原始xml,要么存储数据然后循环。此生成器允许您生成要在文件中显示的URL数据。
历史
我在需要从我的Laravel项目之一生成sitemap.xml文件时创建了它。最初仅设计用于与Laravel一起使用,我最终修改了它以支持所有PHP项目。此外,Laravel提供的Blade模板引擎可以将任何数组视为集合,因此我无需创建任何适配的包。
安装
composer require nolikein/sitemap-generator ^1.0.0
用法
从源码使用PHP的示例
use Nolikein\SitemapGenerator\SitemapFactory; $generator = new SitemapFactory(); $generator ->addRoute('http://domain.org/', new Datetime('now'), 'always', 1) ... ; $routes = $generator->getRoutes();
使用Laravel的示例
以下是一个使用Laravel 8的示例
use Nolikein\SitemapGenerator\SitemapFactory; $generator = new SitemapFactory(); $generator ->addRoute(route('welcome'), now(), 'always', 1) ... ; return response() ->view('frontoffice.sitemap', [ 'routes' => $generator->getRoutes() ]) ->header('Content-Type', 'application/xml');
## 将结果显示在网站地图文件中(blade示例)
{{-- @php echo '<?xml version="1.0" encoding="UTF-8"?>' @endphp --}} <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> @foreach ($routes as $route) <url> <loc>{{ $route->getUrl() }}</loc> <lastmod>{{ $route->getLastmodification()->format('Y-m-d') }}</lastmod> <changefreq>{{ $route->getFrequency() }}</changefreq> <priority>{{ $route->getPriority() }}</priority> </url> @endforeach </urlset>