aboutsummaryrefslogtreecommitdiff
path: root/app/Models/Feed.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2024-01-15 10:36:30 +0100
committerGravatar GitHub <noreply@github.com> 2024-01-15 10:36:30 +0100
commit314077a457f04cc2f0472e036af029e2676fbf02 (patch)
tree1f38bb78761a56b8ee2034caba0dbda3912ef7c1 /app/Models/Feed.php
parent52f6c8399b41e0c8be49dd56c89f451843189791 (diff)
PHPStan prepare exceptions (#6037)
Take advantage of https://phpstan.org/blog/bring-your-exceptions-under-control Minimum changes to pass `tooWideThrowType` and `implicitThrows`. Revert some mistakes from: https://github.com/FreshRSS/FreshRSS/pull/5504 Preparation needed before new PRs of the same type: https://github.com/FreshRSS/FreshRSS/pull/5962 Fix several wrong PHPDocs and catches: > Method ... has ...Exception in PHPDoc @throws tag but it's not thrown. > Dead catch - ...Exception is never thrown in the try block.
Diffstat (limited to 'app/Models/Feed.php')
-rw-r--r--app/Models/Feed.php27
1 files changed, 18 insertions, 9 deletions
diff --git a/app/Models/Feed.php b/app/Models/Feed.php
index 40e78bfeb..1de8258e8 100644
--- a/app/Models/Feed.php
+++ b/app/Models/Feed.php
@@ -65,6 +65,9 @@ class FreshRSS_Feed extends Minz_Model {
private string $hubUrl = '';
private string $selfUrl = '';
+ /**
+ * @throws FreshRSS_BadUrl_Exception
+ */
public function __construct(string $url, bool $validate = true) {
if ($validate) {
$this->_url($url);
@@ -248,6 +251,9 @@ class FreshRSS_Feed extends Minz_Model {
$this->id = $value;
}
+ /**
+ * @throws FreshRSS_BadUrl_Exception
+ */
public function _url(string $value, bool $validate = true): void {
$this->hash = '';
$url = $value;
@@ -323,9 +329,16 @@ class FreshRSS_Feed extends Minz_Model {
$this->nbEntries = $value;
}
+ /**
+ * @throws Minz_FileNotExistException
+ * @throws FreshRSS_Feed_Exception
+ */
public function load(bool $loadDetails = false, bool $noCache = false): ?SimplePie {
if ($this->url != '') {
- // @phpstan-ignore-next-line
+ /**
+ * @phpstan-ignore-next-line
+ * @throws Minz_FileNotExistException
+ */
if (CACHE_PATH == '') {
throw new Minz_FileNotExistException(
'CACHE_PATH',
@@ -615,9 +628,6 @@ class FreshRSS_Feed extends Minz_Model {
];
}
- /**
- * @throws FreshRSS_Context_Exception
- */
public function loadJson(): ?SimplePie {
if ($this->url == '') {
return null;
@@ -654,9 +664,6 @@ class FreshRSS_Feed extends Minz_Model {
return $this->simplePieFromContent($feedContent);
}
- /**
- * @throws FreshRSS_Context_Exception
- */
public function loadHtmlXpath(): ?SimplePie {
if ($this->url == '') {
return null;
@@ -799,7 +806,6 @@ class FreshRSS_Feed extends Minz_Model {
/**
* @return int|null The max number of unread articles to keep, or null if disabled.
- * @throws JsonException
*/
public function keepMaxUnread() {
$keepMaxUnread = $this->attributeInt('keep_max_n_unread');
@@ -881,7 +887,10 @@ class FreshRSS_Feed extends Minz_Model {
return false;
}
- /** @param array<string,mixed> $attributes */
+ /**
+ * @param array<string,mixed> $attributes
+ * @throws FreshRSS_Context_Exception
+ */
public static function cacheFilename(string $url, array $attributes, int $kind = FreshRSS_Feed::KIND_RSS): string {
$simplePie = customSimplePie($attributes);
$filename = $simplePie->get_cache_filename($url);