Skip to content

Commit 20f55c3

Browse files
authored
Fix some PHPStan errors (#12)
* Fix some PHPStan errors * Fix return type of SEOManager::meta * Fix CS * Update SEOManager.php * Update helpers.php * Update SEOManager.php
1 parent 7b24a50 commit 20f55c3

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
"imliam/laravel-blade-helper": "^1.0"
2929
},
3030
"require-dev": {
31-
"orchestra/testbench": "^6.9",
32-
"nunomaduro/larastan": "^0.6.10",
31+
"orchestra/testbench": "^6.23",
32+
"nunomaduro/larastan": "^1.0",
3333
"pestphp/pest": "^1.2",
3434
"pestphp/pest-plugin-laravel": "^1.0",
3535
"intervention/image": "^2.7"

phpstan.neon

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,9 @@ parameters:
1010
universalObjectCratesClasses:
1111
- Illuminate\Routing\Route
1212
- ArchTech\SEO\SEOManager
13+
checkMissingIterableValueType: false
1314

1415
ignoreErrors:
15-
- '#SEOManager\|array\|string\|null#'
16-
- '#string\|false given#'
17-
- '#flipp\(\) should return#'
18-
- '#\_\_set\(\) has no return typehint specified#'
19-
20-
checkMissingIterableValueType: false
16+
# Waiting for https://github.com/phpstan/phpstan/issues/5706
17+
- '#^Cannot call method (flipp|get|set)\(\) on ArchTech\\SEO\\SEOManager\|array\|string\|null\.$#'
18+
- '#^Method ArchTech\\SEO\\SEOManager::flipp\(\) should return static\(ArchTech\\SEO\\SEOManager\)\|string but returns array\|string\|null\.$#'

src/SEOManager.php

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,14 @@ protected function modify(string $key): string|null
8282
: value($this->values[$key]);
8383
}
8484

85-
/** Set one or more values. */
85+
/**
86+
* Set one or more values.
87+
*
88+
* @param string|array<string, string> $key
89+
*/
8690
public function set(string|array $key, string|Closure|null $value = null): string|array|null
8791
{
8892
if (is_array($key)) {
89-
/** @var array<string, string> $key */
9093
foreach ($key as $k => $v) {
9194
$this->set($k, $v);
9295
}
@@ -166,7 +169,7 @@ public function flipp(string $alias, string|array $data = null): string|static
166169
];
167170
}
168171

169-
$query = base64_encode(json_encode($data));
172+
$query = base64_encode(json_encode($data, JSON_THROW_ON_ERROR));
170173

171174
/** @var string $template */
172175
$template = $this->meta("flipp.templates.$alias");
@@ -220,7 +223,7 @@ public function tag(string $property, string $content): static
220223
* Get or set metadata.
221224
* @param string|array $key The key or key-value pair being set.
222225
* @param string|array|null $value The value (if a single key is provided).
223-
* @return $this|string
226+
* @return $this|string|null
224227
*/
225228
public function meta(string|array $key, string|array $value = null): mixed
226229
{
@@ -281,7 +284,11 @@ public function __get(string $key): string|null
281284
return $this->get(Str::snake($key, '.'));
282285
}
283286

284-
/** Handle magic set. */
287+
/**
288+
* Handle magic set.
289+
*
290+
* @return string|array|null
291+
*/
285292
public function __set(string $key, string $value)
286293
{
287294
return $this->set(Str::snake($key, '.'), $value);

0 commit comments

Comments
 (0)