2025-06-29 21:33:18 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace App\Contracts;
|
|
|
|
|
|
|
|
|
|
interface HomepageParserInterface
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* Check if this parser can handle the given homepage URL
|
|
|
|
|
*/
|
|
|
|
|
public function canParse(string $url): bool;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Extract article URLs from homepage HTML
|
2025-07-07 00:51:32 +02:00
|
|
|
* @return array<int, string>
|
2025-06-29 21:33:18 +02:00
|
|
|
*/
|
|
|
|
|
public function extractArticleUrls(string $html): array;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the homepage URL for this source
|
|
|
|
|
*/
|
|
|
|
|
public function getHomepageUrl(): string;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Get the source name for this parser
|
|
|
|
|
*/
|
|
|
|
|
public function getSourceName(): string;
|
|
|
|
|
}
|