Skip to content
This repository was archived by the owner on Apr 14, 2023. It is now read-only.

Commit b2e6224

Browse files
committed
create sitemap service and get logic out of command
1 parent d1715f3 commit b2e6224

File tree

5 files changed

+524
-348
lines changed

5 files changed

+524
-348
lines changed

app/Console/Commands/SitemapGeneratorCommand.php

Lines changed: 12 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -4,37 +4,25 @@
44

55
namespace App\Console\Commands;
66

7-
use Carbon\Carbon;
7+
use App\Services\SitemapService;
88
use Illuminate\Console\Command;
9-
use Spatie\Sitemap\SitemapGenerator;
10-
use Spatie\Sitemap\Tags\Url;
119

1210
class SitemapGeneratorCommand extends Command
1311
{
14-
/** @var SitemapGenerator */
15-
private $sitemap;
12+
private const PATH = __DIR__ . '/../../../public/sitemap.xml';
13+
14+
/** @var SitemapService */
15+
private $sitemapService;
1616

17-
/**
18-
* The name and signature of the console command.
19-
*
20-
* @var string
21-
*/
2217
protected $signature = 'phpversions:sitemap';
2318

24-
/**
25-
* The console command description.
26-
*
27-
* @var string
28-
*/
2919
protected $description = 'Generate Sitemap for PhpVersions';
3020

31-
protected $path = __DIR__ . '/../../../public/sitemap.xml';
32-
33-
public function __construct(SitemapGenerator $sitemap)
21+
public function __construct(SitemapService $sitemapService)
3422
{
3523
parent::__construct();
3624

37-
$this->sitemap = $sitemap;
25+
$this->sitemapService = $sitemapService;
3826
}
3927

4028
/**
@@ -44,33 +32,10 @@ public function __construct(SitemapGenerator $sitemap)
4432
*/
4533
public function handle() : void
4634
{
47-
$this->sitemap->create('https://phpversions.co')
48-
->getSitemap()
49-
->add(Url::create('/about')
50-
->setLastModificationDate(Carbon::yesterday())
51-
->setChangeFrequency(Url::CHANGE_FREQUENCY_YEARLY)
52-
->setPriority(0.1)
53-
)
54-
->add(Url::create('/managed-hosts')
55-
->setLastModificationDate(Carbon::yesterday())
56-
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
57-
->setPriority(0.9)
58-
)
59-
->add(Url::create('/shared-hosts')
60-
->setLastModificationDate(Carbon::yesterday())
61-
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
62-
->setPriority(0.9)
63-
)
64-
->add(Url::create('/paas-hosts')
65-
->setLastModificationDate(Carbon::yesterday())
66-
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
67-
->setPriority(0.9)
68-
)
69-
->add(Url::create('/vulnerabilities')
70-
->setLastModificationDate(Carbon::yesterday())
71-
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
72-
->setPriority(0.9)
73-
)
74-
->writeToFile($this->path);
35+
$this->info('Writing sitemap for https://phpversions.org');
36+
37+
$this->sitemapService->writeSitemap(self::PATH);
38+
39+
$this->info('Sitemap was generated and written to public/sitemap.xml');
7540
}
7641
}

app/Services/CveService.php

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Services;
6+
7+
use Spatie\Sitemap\SitemapGenerator;
8+
use Spatie\Sitemap\Tags\Url;
9+
10+
class CveService
11+
{
12+
public function __construct(SitemapGenerator $sitemap)
13+
{
14+
$this->sitemap = $sitemap;
15+
}
16+
17+
public function writeSitemap(string $path) : void
18+
{
19+
$this->sitemap->create('https://phpversions.co')
20+
->getSitemap()
21+
->add(Url::create('/about')
22+
->setLastModificationDate(Carbon::yesterday())
23+
->setChangeFrequency(Url::CHANGE_FREQUENCY_YEARLY)
24+
->setPriority(0.1)
25+
)
26+
->add(Url::create('/managed-hosts')
27+
->setLastModificationDate(Carbon::yesterday())
28+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
29+
->setPriority(0.9)
30+
)
31+
->add(Url::create('/shared-hosts')
32+
->setLastModificationDate(Carbon::yesterday())
33+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
34+
->setPriority(0.9)
35+
)
36+
->add(Url::create('/paas-hosts')
37+
->setLastModificationDate(Carbon::yesterday())
38+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
39+
->setPriority(0.9)
40+
)
41+
->add(Url::create('/vulnerabilities')
42+
->setLastModificationDate(Carbon::yesterday())
43+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
44+
->setPriority(0.9)
45+
)
46+
->writeToFile($path);
47+
}
48+
}

app/Services/SitemapService.php

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace App\Services;
6+
7+
use Carbon\Carbon;
8+
use Spatie\Sitemap\SitemapGenerator;
9+
use Spatie\Sitemap\Tags\Url;
10+
11+
class SitemapService
12+
{
13+
/** @var SitemapGenerator */
14+
private $sitemap;
15+
16+
public function __construct(SitemapGenerator $sitemap)
17+
{
18+
$this->sitemap = $sitemap;
19+
}
20+
public function writeSitemap(string $path) : void
21+
{
22+
$this->sitemap->create('https://phpversions.org')
23+
->getSitemap()
24+
->add(Url::create('/about')
25+
->setLastModificationDate(Carbon::yesterday())
26+
->setChangeFrequency(Url::CHANGE_FREQUENCY_YEARLY)
27+
->setPriority(0.1)
28+
)
29+
->add(Url::create('/managed-hosts')
30+
->setLastModificationDate(Carbon::yesterday())
31+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
32+
->setPriority(0.9)
33+
)
34+
->add(Url::create('/shared-hosts')
35+
->setLastModificationDate(Carbon::yesterday())
36+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
37+
->setPriority(0.9)
38+
)
39+
->add(Url::create('/paas-hosts')
40+
->setLastModificationDate(Carbon::yesterday())
41+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
42+
->setPriority(0.9)
43+
)
44+
->add(Url::create('/vulnerabilities')
45+
->setLastModificationDate(Carbon::yesterday())
46+
->setChangeFrequency(Url::CHANGE_FREQUENCY_DAILY)
47+
->setPriority(0.9)
48+
)
49+
->writeToFile($path);
50+
}
51+
}

0 commit comments

Comments
 (0)