app.brand
nav.index
nav.about
user.sign.in
php下重载函数的方法
由于PHP是弱类型语言,因此函数的输入参数类型无法确定(可以使用类型暗示,但是类型暗示无法用在诸如整型、字符串之类的标量类型上),并且对于一个函数,比如只定义了3个输入参数,PHP却在运行调用的时候输入4个或者更多的参数。因此基于这2点,注定了PHP中无法重载函数(类似Javascript语言),也无法有构造函数的重载。 由于实现函数的重载对提高开发效率很有帮助,如果能象C#或者C++那样就非常好了。事实上,PHP的确提供了一个魔术方法,`mixed __call(string name, array arguments)`。这个方法在php手册中也有提及,根据官方文档,称此方法可以实现函数重载。当调用对象中一个不存在的方法的时候,如果定义了__call()方法,则会调用该方法。比如下面的代码: ```php "; } function f2($a1, $a2) { echo "2个参数" . $a1 . "," . $a2 . "
"; } function f3($a1, $a2, $a3) { echo "3个参数" . $a1 . "," . $a2 . "," . $a3 . "
"; } } (new A)->f('a'); (new A)->f('a', 'b'); (new A)->f('a', 'b', 'c'); ?> ``` 另外,构造函数中获取参数可以这样写: ```php $a = func_get_args(); // 获取构造函数中的参数 $i = count($a); ```
data.update.last
sys.time.ago
punc.commaarticle.create.bypunc.commaarticle.file.inpunc.colon
PHP
©app.copyright.year
app.author
·
app.ICP
sys.donate
alipay._self
wechat._self