ILIAS
trunk Revision v11.0_alpha-2662-g519ff7d528f
◀ ilDoc Overview
ShuffleTransformation.php
Go to the documentation of this file.
1
<?php
2
19
declare(strict_types=1);
20
21
namespace
ILIAS\Refinery\Random\Transformation
;
22
23
use
ILIAS\Refinery\Random\Seed\Seed
;
24
use
ILIAS\Refinery\Transformation
;
25
use
ILIAS\Refinery\ConstraintViolationException
;
26
use
ILIAS\Refinery\DeriveInvokeFromTransform
;
27
use
ILIAS\Refinery\DeriveApplyToFromTransform
;
28
36
class
ShuffleTransformation
implements
Transformation
37
{
38
use
DeriveInvokeFromTransform
;
39
use
DeriveApplyToFromTransform
;
40
41
private
Seed
$seed
;
42
43
public
function
__construct
(
Seed
$seed)
44
{
45
$this->seed =
$seed
;
46
}
47
48
public
function
transform
($from): array
49
{
50
if
(!is_array($from)) {
51
throw
new
ConstraintViolationException
(
'not an array'
,
'no_array'
);
52
}
53
$this->seed->seedRandomGenerator();
54
shuffle($from);
55
56
return
$from;
57
}
58
}
ILIAS\Refinery\DeriveInvokeFromTransform
trait DeriveInvokeFromTransform
Definition:
DeriveInvokeFromTransform.php:24
ILIAS\Refinery\DeriveApplyToFromTransform
trait DeriveApplyToFromTransform
Definition:
DeriveApplyToFromTransform.php:29
Seed
ILIAS\Refinery\Random\Transformation\ShuffleTransformation\$seed
Seed $seed
Definition:
ShuffleTransformation.php:41
ILIAS\Refinery\Random\Seed\Seed
Definition:
Seed.php:23
Transformation
ILIAS\Refinery\ConstraintViolationException
Definition:
ConstraintViolationException.php:29
ILIAS\Refinery\Random\Transformation\ShuffleTransformation\transform
transform($from)
Perform the transformation.
Definition:
ShuffleTransformation.php:48
ILIAS\Refinery\Random\Transformation\ShuffleTransformation
!! BEWARE OF THE SIDE EFFECT.
Definition:
ShuffleTransformation.php:36
ILIAS\Refinery\Transformation
A transformation is a function from one datatype to another.
Definition:
Transformation.php:34
ILIAS\Refinery\Random\Transformation
Definition:
ShuffleTransformation.php:21
ILIAS\Refinery\Random\Transformation\ShuffleTransformation\__construct
__construct(Seed $seed)
Definition:
ShuffleTransformation.php:43
ConstraintViolationException
components
ILIAS
Refinery
src
Random
Transformation
ShuffleTransformation.php
Generated on Wed Sep 3 2025 23:03:37 for ILIAS by
1.8.13 (using
Doxyfile
)