我有一個方法返回true或false,但是當我添加一個類型聲明isAdmin() : string
它不會引發致命錯誤。strict_types包括時不工作
我有declare(strict_types=1);
在第二個包含在課前的文件中。 實施例:
file1.php
<?php
declare(strict_types=1);
file2.php
<?php
include "file1.php";
class Test
{
public function user() : int
{
return true;
}
}
$test = new Test();
var_dump($test->user());
此代碼不會引發致命錯誤。相反,var_dump返回的布爾值爲int(1)
。如果我將方法類型更改爲字符串,var_dump返回布爾值string(1) "1"
。
如何避免將declare(strict_types=1);
放在每個模型文件中?
這意味着你的函數返回一個字符串,你返回一個布爾值。 – 2017-10-07 14:34:31
@headmax認爲他問爲什麼這個通過,如果他有'strict_types'啓用。這個例子__應該失敗,但顯然它的通過。 – Carey
此外,你可以跳過if語句,只是'返回isset($ this-> type)&& $ this-> type == 3' – Carey