Issues (9)

src/GDCChecker.php (1 issue)

1
<?php
2
3
namespace GDCInfo;
4
5
class GDCChecker
6
{
7
    protected static string $model = \GDCInfo\Models\GDCInfo::class;
8
9 2
    public static function useModel(string $modelClass): static
10
    {
11 2
        if (!is_a($modelClass, \GDCInfo\Models\GDCInfo::class, true)) {
12 1
            throw new \Exception("Class should be a subclass of GDCInfo [{$modelClass}]");
13
        }
14
15 1
        static::$model = $modelClass;
16
17 1
        return new static();
18
    }
19
20
    /**
21
     * @return class-string \GDCInfo\Models\GDCInfo
0 ignored issues
show
Documentation Bug introduced by
The doc comment class-string at position 0 could not be parsed: Unknown type name 'class-string' at position 0 in class-string.
Loading history...
22
     */
23 1
    public static function modelClass(): string
24
    {
25 1
        return static::$model;
26
    }
27
28 1
    public static function model(array $attributes = []): \GDCInfo\Models\GDCInfo
29
    {
30 1
        $modelClass = static::$model;
31
32
        /** @var \GDCInfo\Models\GDCInfo $model */
33 1
        $model = new $modelClass($attributes);
34
35 1
        return $model;
36
    }
37
}
38