class ThemeManifest implements ThemeList (View source)

A class which builds a manifest of all themes (which is really just a directory called "templates")

Constants

TEMPLATES_DIR

Methods

__construct(string $base, string $project = null, CacheFactory $cacheFactory = null)

Constructs a new template manifest. The manifest is not actually built or loaded from cache until needed.

init(bool $includeTests = false, bool $forceRegen = false)

No description

string
getBase()

No description

string
getCacheKey(bool $includeTests = false)

Generate a unique cache key to avoid manifest cache collisions.

array
getThemes()

No description

regenerate(bool $includeTests = false)

Regenerates the manifest by scanning the base path.

handleDirectory(string $basename, string $pathname, int $depth)

Add a directory to the manifest

$this
setProject(string $project)

Sets the project

Details

__construct(string $base, string $project = null, CacheFactory $cacheFactory = null)

Constructs a new template manifest. The manifest is not actually built or loaded from cache until needed.

Parameters

string $base The base path.
string $project Path to application code
CacheFactory $cacheFactory Cache factory to generate backend cache with

init(bool $includeTests = false, bool $forceRegen = false)

Parameters

bool $includeTests Include tests in the manifest
bool $forceRegen Force the manifest to be regenerated.

string getBase()

Return Value

string

string getCacheKey(bool $includeTests = false)

Generate a unique cache key to avoid manifest cache collisions.

We compartmentalise based on the base path, the given project, and whether or not we intend to include tests.

Parameters

bool $includeTests

Return Value

string

array getThemes()

Return Value

array

regenerate(bool $includeTests = false)

Regenerates the manifest by scanning the base path.

Parameters

bool $includeTests

handleDirectory(string $basename, string $pathname, int $depth)

Add a directory to the manifest

Parameters

string $basename
string $pathname
int $depth

$this setProject(string $project)

Sets the project

Parameters

string $project

Return Value

$this