protected function getProjectPath(): string
    {
        if (!$this->projectPath) {
            $cls = new \ReflectionClass(static::class);
            $baseDir = dirname($cls->getFileName());
            $this->projectPath = Path::makeAbsolute($this->PROJECT_DIR, $baseDir);
        }

        return $this->projectPath;
    }