Powiedzmy mamy metoda podpis jakPHP przez referencję parametrów i domyślne zerowej
public static function explodeDn($dn, array &$keys = null, array &$vals = null,
$caseFold = self::ATTR_CASEFOLD_NONE)
możemy łatwo wywołać metodę pomijając wszystkie parametry po $dn
:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com');
Możemy również zadzwonić metoda z 3 parametrami:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v);
z 4 parametrami:
$dn=Zend_Ldap_Dn::explodeDn('CN=Alice Baker,CN=Users,DC=example,DC=com', $k, $v,
Zend_Ldap_Dn::ATTR_CASEFOLD_UPPER);
Ale dlaczego jest to niemożliwe, aby wywołać metodę z następującej kombinacji parametrów, na przykład:
$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);
Jaka jest różnica między przechodząc null
metody i opierając się na wartości domyślne? Czy to ograniczenie jest zapisane w instrukcji? Czy można go obejść?
To interesujący pomysł na składnię ... osobiście chciałbym zobaczyć możliwość nadania nazwanych parametrów funkcji w wywołaniu, np. 'doSomething ($ var1, @ optionalParam4 = $ var2);'. –