【发布时间】:2010-09-21 18:39:31
【问题描述】:
假设我们有一个像
这样的方法签名public static function explodeDn($dn, array &$keys = null, array &$vals = null,
$caseFold = self::ATTR_CASEFOLD_NONE)
我们可以通过省略$dn之后的所有参数来轻松调用该方法:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com');
我们也可以调用3个参数的方法:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v);
并带有 4 个参数:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v,
Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER);
但是为什么不能调用例如下面的参数组合的方法:
$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);
将null 传递给方法和依赖默认值有什么区别?该约束是否写在手册中?可以绕开吗?
【问题讨论】:
标签: php null pass-by-reference