假设我们有一个类似的方法签名
public static function explodeDn($dn, array &$keys = null, array &$vals = null,
$caseFold = self::ATTR_CASEFOLD_NONE)
Run Code Online (Sandbox Code Playgroud)
我们可以通过以下方式省略所有参数来轻松调用该方法$dn:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com');
Run Code Online (Sandbox Code Playgroud)
我们也可以用3个参数调用该方法:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v);
Run Code Online (Sandbox Code Playgroud)
并有4个参数:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v,
Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER);
Run Code Online (Sandbox Code Playgroud)
但是为什么不可能使用以下参数组合调用该方法,例如:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, null,
Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER);
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', null, $v);
Run Code Online (Sandbox Code Playgroud)
传递null给方法和依赖默认值之间有什么区别?这个约束是否写在手册中?它可以被规避吗?