あなたのシステムが正しい種類のエントロピーを提供していないため、$uuid
が空である可能性があります。あなたはV4またはV5のUUIDのいずれかのためのこれらのライブラリの実装を試みる場合があります:
// https://tools.ietf.org/html/rfc4122#section-4.4
function v4() {
$data = openssl_random_pseudo_bytes(16, $secure);
if (false === $data) { return false; }
$data[6] = chr(ord($data[6]) & 0x0f | 0x40); // set version to 0100
$data[8] = chr(ord($data[8]) & 0x3f | 0x80); // set bits 6-7 to 10
return vsprintf('%s%s-%s-%s-%s-%s%s%s', str_split(bin2hex($data), 4));
}
// https://tools.ietf.org/html/rfc4122#section-4.3
function v5($name) {
$hash = sha1($name, false);
return sprintf(
'%s-%s-5%s-%s-%s',
substr($hash, 0, 8),
substr($hash, 8, 4),
substr($hash, 17, 3),
substr($hash, 24, 4),
substr($hash, 32, 12)
);
}
'エコーUUIDをしてみてください::生成()'や '$のUUID = UUID ::生成(); echo $ uuid-> string' –
@BenSwinburneが言ったことをもう一度:[ソース](https://github.com/webpatser/laravel-uuid/blob/master/src/Webpatser/Uuid/Uuid.php# L428)は、 'echo Uuid :: generate() - > time'を実行してv1のUUIDを取得できるように思えます。文字列のバージョンを取得するには ' - > string'を使用します。 – bishop
これはうまくいきました...私は応答で返そうとするとオブジェクトが空になり、$ uuid-> stringを使用したときにはそれが機能しました。ありがとう! – Skatch