php – 如何从课外调用父方法?
发布时间:2020-12-13 16:51:56 所属栏目:PHP教程 来源:网络整理
导读:请看以下示例: class A implements Serializable { serialize() {}}class B extends A { serialize() {}} A类是每个页面上使用的持久但最小的类. B类是临时管理员(在设置屏幕上使用)类,它通过读取文件来填充成员. 我需要序列化对象并在数据库中存储两次,一
请看以下示例:
class A implements Serializable { serialize() {} } class B extends A { serialize() {} } A类是每个页面上使用的持久但最小的类. B类是临时管理员(在设置屏幕上使用)类,它通过读取文件来填充成员. 我需要序列化对象并在数据库中存储两次,一次用于常规页面,第二次(有限生命)用于管理页面. $instance = new B(); // and populate $data = serialize( $instance ); 这将始终调用过度使用的方法.有没有什么方法可以将$instance转换为A类,以便我可以调用A类的序列化方法? 解决方法
可以通过创建一个闭包,查看以下片段进行演示
<?php interface Greeting { public function hello(); } class A implements Greeting { public function hello() { echo "Say hello from An"; } } class B extends A { public function hello() { echo "Say hello from Bn"; } } $b = new B(); $closure = function() { return parent::hello(); }; $closure = $closure->bindTo($b,'B'); $closure(); // Say hello from A $b->hello(); // Say hello from B (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |