-<?php namespace BookStack\Entities;
+<?php
+
+namespace BookStack\Entities;
use BookStack\Entities\Models\Book;
use BookStack\Entities\Models\Bookshelf;
use BookStack\Entities\Models\PageRevision;
/**
- * Class EntityProvider
+ * Class EntityProvider.
*
* Provides access to the core entity models.
* Wrapped up in this provider since they are often used together
*/
class EntityProvider
{
-
/**
* @var Bookshelf
*/
*/
public $pageRevision;
-
public function __construct()
{
$this->bookshelf = new Bookshelf();
/**
* Fetch all core entity types as an associated array
* with their basic names as the keys.
- * @return [string => Entity]
+ *
+ * @return array<Entity>
*/
public function all(): array
{
return [
'bookshelf' => $this->bookshelf,
- 'book' => $this->book,
- 'chapter' => $this->chapter,
- 'page' => $this->page,
+ 'book' => $this->book,
+ 'chapter' => $this->chapter,
+ 'page' => $this->page,
];
}
public function get(string $type): Entity
{
$type = strtolower($type);
+
return $this->all()[$type];
}
$model = $this->get($type);
$morphClasses[] = $model->getMorphClass();
}
+
return $morphClasses;
}
}