PHP使用方法重载实现get和set方法,用于动态创建属性

PHP使用方法重载实现get和set方法,用于动态创建属性
在PHP中,我们不能直接实现方法重载的方法相同的方法名称和签名的方法不同,因为PHP是一种弱数据类型并不能区分的签名很好。但是,这__call()方法可用于PHP的类实现方法重载的调用一个方法做。不在一个班的存在时,它调用__call()方法自动,在__call形式($name,争论,其中$美元)名字的方法名,参数是一个数组类型为参数。

下面的例子是动态创建和使用PHP方法的重载方法。(在面向对象编程中,类属性将使用get和set的分配,但是如果有太多的属性,如一个30级的,所以如果你没有方法的重载,我们需要写30集30得到的,而慢慢地,自己写的…)

复制代码代码如下所示:

< PHP

班上的人

{

私有名称;

私人年龄;

私人地址

私立学校;

私人phoneNum美元;

公共功能__call($方法,为args)

{

疝环充填strtolower美元=(substr(合法、0.3));

资产= strtolower美元(substr(合法,3));

如果(空(合片)| |空(美元资产))

{

返回;

}

如果($年= =到isset(美元->美元财产))

{

返回$这个$ $属性;

}

如果($年= = 设置

{

美元美元美元->属性= args { 0 };

}

}

}

新人();

$ P -> setName('lvcy);

P—> setage(23);

$ P ->设置设备地址(成都);

P—> setschool('uestc);

P—> setphonenum(为123456);

echo $ P -> getName(),';

echo $ P -> getAge(),';

echo $ P > getaddress(),';

echo $ P > getschool(),';

>
这个问题是通过__call容易解决()方法,不让写每个属性设置方法。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部