1--TEST-- 2Crypto\KDF::__clone basic usage. 3--FILE-- 4<?php 5function print_kdf($kdf) { 6 var_dump($kdf->getSalt()); 7 var_dump($kdf->getLength()); 8} 9 10class SubKDF extends Crypto\KDF { 11 function __construct($length, $salt) { 12 parent::__construct($length, $salt); 13 } 14 function derive($password) { 15 return sha1($password); 16 } 17} 18$subkdf = new SubKDF(32, 'salt'); 19$subkdf_clone = clone $subkdf; 20print_kdf($subkdf_clone); 21$subkdf->setSalt('different_salt'); 22$subkdf->setLength(24); 23print_kdf($subkdf); 24print_kdf($subkdf_clone); 25$subkdf_clone->setSalt('clone_salt'); 26$subkdf_clone->setLength(20); 27print_kdf($subkdf); 28print_kdf($subkdf_clone); 29?> 30--EXPECT-- 31string(4) "salt" 32int(32) 33string(14) "different_salt" 34int(24) 35string(4) "salt" 36int(32) 37string(14) "different_salt" 38int(24) 39string(10) "clone_salt" 40int(20) 41