1
0
Fork 0
mirror of https://github.com/archtechx/laravel-seo.git synced 2025-12-12 09:54:03 +00:00

Fix some PHPStan errors

This commit is contained in:
Viktor Szépe 2021-11-13 19:16:32 +00:00
parent 1b2bfb2945
commit 1970b01773
4 changed files with 22 additions and 12 deletions

View file

@ -28,8 +28,8 @@
"imliam/laravel-blade-helper": "^1.0"
},
"require-dev": {
"orchestra/testbench": "^6.9",
"nunomaduro/larastan": "^0.6.10",
"orchestra/testbench": "^6.23",
"nunomaduro/larastan": "^1.0",
"pestphp/pest": "^1.2",
"pestphp/pest-plugin-laravel": "^1.0"
},

View file

@ -10,11 +10,9 @@ parameters:
universalObjectCratesClasses:
- Illuminate\Routing\Route
- ArchTech\SEO\SEOManager
checkMissingIterableValueType: false
ignoreErrors:
- '#SEOManager\|array\|string\|null#'
- '#string\|false given#'
- '#flipp\(\) should return#'
- '#\_\_set\(\) has no return typehint specified#'
checkMissingIterableValueType: false
# Waiting for https://github.com/phpstan/phpstan/issues/5706
- '#^Cannot call method (flipp|get|set)\(\) on ArchTech\\SEO\\SEOManager\|array\|string\|null\.$#'
- '#^Method ArchTech\\SEO\\SEOManager::flipp\(\) should return static\(ArchTech\\SEO\\SEOManager\)\|string but returns array\|string\|null\.$#'

View file

@ -82,11 +82,14 @@ class SEOManager
: value($this->values[$key]);
}
/** Set one or more values. */
/**
* Set one or more values.
*
* @param string|array<string, string> $key
*/
public function set(string|array $key, string|Closure|null $value = null): string|array|null
{
if (is_array($key)) {
/** @var array<string, string> $key */
foreach ($key as $k => $v) {
$this->set($k, $v);
}
@ -166,7 +169,7 @@ class SEOManager
];
}
$query = base64_encode(json_encode($data));
$query = base64_encode((string)json_encode($data));
/** @var string $template */
$template = $this->meta("flipp.templates.$alias");
@ -273,7 +276,11 @@ class SEOManager
return $this->get(Str::snake($key, '.'));
}
/** Handle magic set. */
/**
* Handle magic set.
*
* @phpstan-return string|array|null
*/
public function __set(string $key, string $value)
{
return $this->set(Str::snake($key, '.'), $value);

View file

@ -5,6 +5,11 @@ declare(strict_types=1);
use ArchTech\SEO\SEOManager;
if (! function_exists('seo')) {
/**
* @template T of string|array
* @param T|null $key
* @return SEOManager|string|array|null
*/
function seo(string|array $key = null): SEOManager|string|array|null
{
if ($key === null) {