我试图创建一个强制类型的类,就像PHP SplString class一样。 在这个类中,您可以创建一个字符串(例如来自php.net)
$string = new SplString("Testing");
try {
$string = array();
} catch (UnexpectedValueException $uve) {
echo $uve->getMessage() . PHP_EOL;
}
var_dump($string);
echo $string; // Outputs "Testing"
我知道PHP是松散类型的,但是他们在SplTypes中有这个功能所以我希望可能有某种方法来模仿这种行为。
我希望在下面以这种方式实现它。
public function __assign($value)
{
if($value instanceof MyClass)
{
return true;
}
return false;
}
我希望能够在我自己的课程中引入这种行为,但是无法找到相关的魔术分配方法。
这甚至可能吗?或者这是一种无法控制的语言功能?