在我的一些設置器中,我傳遞了一個對象數組。我想確保它只包含給定類的實例。讀取文檔,這裏是我做的:PHP:確保數組僅包含某個類的對象
class Foo
{
public function __construct()
{
}
}
class ErrorFoo
{
public function __construct()
{
}
}
$ArrayObject = Array();
array_push($ArrayObject, new Foo());
array_push($ArrayObject, new Foo());
array_push($ArrayObject, new ErrorFoo());
$error = false;
foreach ($ArrayObject as $obj)
{
if ($obj instanceof Foo)
{
echo "ok" . '<br>';
}
else
{
echo "error" . '<br>';
$error = true;
}
}
你知道不是通過數組這樣重複一個簡單的方法?
不確定是否總是設置'$ error = true;'幫助。 –
oups,已修正 –
作爲setter函數的一部分,您可以驗證傳入的對象類型?拋出異常如果類型不符合你想要的。這樣做將確保任何獲取器中返回的對象都是預期的類型。 – JParkinson1991