次のようなメソッドシグネチャがあるとしましょう
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
メソッドに渡すこととデフォルト値に依存することの違いは何ですか? この制約はマニュアルに書かれていますか?回避できますか?