lib/php/libsdk/SDK/Build/PGO/Interfaces/TrainingCase.php (13 lines of code) (raw):
<?php
namespace SDK\Build\PGO\Interfaces;
use SDK\Build\PGO\Config as PGOConfig;
use SDK\Build\PGO\Tool\PackageWorkman;
interface TrainingCase
{
public function __construct(PGOConfig $conf, ?Server $srv_http, ?Server\DB $srv_db);
/* Name of the training case, usually should be same as dirname and namespace. */
public function getName() : string;
/* Prepare anything necessary to start initialization, like fetch required packages, etc. */
public function prepareInit(PackageWorkman $pw, bool $force = false) : void;
/* Initialize the case, run only once on a new checkout. */
public function init() : void;
/* Run training. */
public function run() : void;
/* Get training type, it's like "web", "cli", etc.*/
public function getType() : string;
}