# Random\Engine インターフェイス

(PHP 8 >= 8.2.0)

## はじめに

Random\Engine は、ランダムな値の低レベルなソースを提供します。 ここから返されたランダムな値は、 高レベルAPIで操作することで消費されます。 Random\Engine インターフェイスを使うと、 ランダムな値を生成するためのアルゴリズムを切り替えることができます。 何故切り替えるのかというと、 それぞれのアルゴリズムは特定のユースケースに応じて、 異なるトレードオフの特性を持つからです。 とても高速に値を生成するものの、 生成するランダムな値の品質は低いアルゴリズムもあれば、 それよりは低速ですが、よりよいランダムな値を生成するアルゴリズムもあります。 さらに、Random\Engine\Secure が提供する、 暗号学的にセキュアな、ランダムな値を生成するものまであります。

PHP は 異なるユースケースに対応した、 複数の Random\Engine を提供します。 とても高速なパフォーマンスを追求したり、 再現可能なシーケンスをアプリケーション側で必須としない限り、 CSPRNG をバックエンドにした Random\Engine\Secure を、 デフォルトとして選択することを推奨します。

## インターフェイス概要

namespace Random;
interface Engine {
/* メソッド */
public function generate(): string
}

## 目次

- Random\Engine::generate — ランダムな値を生成する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open