ILIAS  release_7 Revision v7.30-3-g800a261c036
ILIAS\Setup\Objective\CallableObjective Class Reference

A callable objective wraps a callable into an objective. More...

+ Inheritance diagram for ILIAS\Setup\Objective\CallableObjective:
+ Collaboration diagram for ILIAS\Setup\Objective\CallableObjective:

Public Member Functions

 __construct (callable $callable, string $label, bool $is_notable, Setup\Objective ... $preconditions)
 
 getHash ()
 @inheritdocs More...
 
 getLabel ()
 @inheritdocs More...
 
 isNotable ()
 @inheritdocs More...
 
 getPreconditions (Setup\Environment $environment)
 @inheritdocs More...
 
 achieve (Setup\Environment $environment)
 @inheritdocs More...
 
 isApplicable (Setup\Environment $environment)
 @inheritDoc More...
 
- Public Member Functions inherited from ILIAS\Setup\Objective
 getHash ()
 Get a hash for this objective. More...
 
 getLabel ()
 Get a label that describes this objective. More...
 
 isNotable ()
 Get to know if this is an interesting objective for a human. More...
 
 getPreconditions (Environment $environment)
 Objectives might depend on other objectives. More...
 
 achieve (Environment $environment)
 Objectives can be achieved. More...
 
 isApplicable (Environment $environment)
 Get to know whether the objective is applicable. More...
 

Protected Attributes

 $callable
 
 $label
 
 $is_notable
 
 $preconditions
 

Detailed Description

A callable objective wraps a callable into an objective.

The callable receives the environment as parameter. It may return an updated version of the environment, other results will be discarded.

Definition at line 15 of file CallableObjective.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Setup\Objective\CallableObjective::__construct ( callable  $callable,
string  $label,
bool  $is_notable,
Setup\Objective ...  $preconditions 
)

Member Function Documentation

◆ achieve()

ILIAS\Setup\Objective\CallableObjective::achieve ( Setup\Environment  $environment)

@inheritdocs

Definition at line 83 of file CallableObjective.php.

84 {
85 $res = call_user_func($this->callable, $environment);
86 if ($res instanceof Setup\Environment) {
87 return $res;
88 }
89 return $environment;
90 }
An environment holds resources to be used in the setup process.
Definition: Environment.php:12
foreach($_POST as $key=> $value) $res

References $res.

◆ getHash()

ILIAS\Setup\Objective\CallableObjective::getHash ( )

@inheritdocs

Implements ILIAS\Setup\Objective.

Reimplemented in ilDatabaseUpdateStep.

Definition at line 48 of file CallableObjective.php.

48 : string
49 {
50 return hash(
51 "sha256",
52 spl_object_hash($this)
53 );
54 }

◆ getLabel()

ILIAS\Setup\Objective\CallableObjective::getLabel ( )

@inheritdocs

Implements ILIAS\Setup\Objective.

Definition at line 59 of file CallableObjective.php.

59 : string
60 {
61 return $this->label;
62 }

References ILIAS\Setup\Objective\CallableObjective\$label.

◆ getPreconditions()

ILIAS\Setup\Objective\CallableObjective::getPreconditions ( Setup\Environment  $environment)

@inheritdocs

Definition at line 75 of file CallableObjective.php.

75 : array
76 {
78 }

References ILIAS\Setup\Objective\CallableObjective\$preconditions.

◆ isApplicable()

ILIAS\Setup\Objective\CallableObjective::isApplicable ( Setup\Environment  $environment)

@inheritDoc

Definition at line 95 of file CallableObjective.php.

95 : bool
96 {
97 return true;
98 }

◆ isNotable()

ILIAS\Setup\Objective\CallableObjective::isNotable ( )

@inheritdocs

Implements ILIAS\Setup\Objective.

Definition at line 67 of file CallableObjective.php.

67 : bool
68 {
69 return $this->is_notable;
70 }

References ILIAS\Setup\Objective\CallableObjective\$is_notable.

Field Documentation

◆ $callable

ILIAS\Setup\Objective\CallableObjective::$callable
protected

◆ $is_notable

ILIAS\Setup\Objective\CallableObjective::$is_notable
protected

◆ $label

ILIAS\Setup\Objective\CallableObjective::$label
protected

◆ $preconditions

ILIAS\Setup\Objective\CallableObjective::$preconditions
protected

The documentation for this class was generated from the following file: