我正在钻研facebook php api,我看到了以下函数。
public static function enableAppSecretProof($on = true)
{
static::$useAppSecretProof = ($on ? true : false);
}
所以在我的理解,这将设置变量$useAppSecretProof为真,如果$on评估为真和假,如果它评估为假。
为什么要这样设置布尔变量而不是直接设置呢?这是用来铸造的吗?换句话说,任何作为参数传递给函数的值都将被转换为布尔值,这将是变量的值?
使用三元类型可以实现将形参隐式转换为正确的(bool)类型的效果。
更好的方法是:
static::$useAppSecretProof = (bool)$on;