DataSift\Storyplayer\PlayerLib\PhaseGroup_Player::playPhase PHP Method

playPhase() public method

public playPhase ( StoryTeller $st, DataSift\Storyplayer\Injectables $injectables, Phase $phase, boolean $isActive, $thingBeingPlayed = null ) : Phase_Result
$st StoryTeller
$injectables DataSift\Storyplayer\Injectables
$phase DataSift\Storyplayer\Phases\Phase
$isActive boolean
return Phase_Result
    public function playPhase(StoryTeller $st, Injectables $injectables, Phase $phase, $isActive, $thingBeingPlayed = null)
    {
        // shorthand
        $output = $st->getOutput();
        $phaseName = $phase->getPhaseName();
        // run the phase if we're allowed to
        if ($isActive) {
            $st->setCurrentPhase($phase);
            $phaseResult = $phase->doPhase($thingBeingPlayed);
        } else {
            $phaseResult = new Phase_Result($phaseName);
            $phaseResult->setContinuePlaying($phaseResult::SKIPPED);
            $output->logPhaseSkipped($phaseName, self::MSG_PHASE_NOT_ACTIVE);
        }
        // close off any open log actions
        $st->closeAllOpenActions();
        // stop any running test devices
        if (!$st->getPersistDevice()) {
            $st->stopDevice();
        }
        // close off any log actions left open by closing down
        // the test device
        $st->closeAllOpenActions();
        // all done
        return $phaseResult;
    }
PhaseGroup_Player