50 lines
1.1 KiB
PHP
50 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace KTXF\Module;
|
|
|
|
abstract class ModuleInstanceAbstract implements ModuleInstanceInterface
|
|
{
|
|
// mandatory methods that must be implemented by each concrete module
|
|
abstract public function handle(): string;
|
|
|
|
abstract public function version(): string;
|
|
|
|
abstract public function label(): string;
|
|
|
|
abstract public function description(): string;
|
|
|
|
abstract public function author(): string;
|
|
|
|
// optional methods that can be overridden by specific modules
|
|
public function install(): void
|
|
{
|
|
// Override in specific modules if needed
|
|
}
|
|
|
|
public function uninstall(): void
|
|
{
|
|
// Override in specific modules if needed
|
|
}
|
|
|
|
public function enable(): void
|
|
{
|
|
// Override in specific modules if needed
|
|
}
|
|
|
|
public function disable(): void
|
|
{
|
|
// Override in specific modules if needed
|
|
}
|
|
|
|
public function upgrade(): void
|
|
{
|
|
// Override in specific modules if needed
|
|
}
|
|
|
|
public function boot(): void
|
|
{
|
|
// Override in specific modules if needed
|
|
}
|
|
|
|
}
|