首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP中类似C#的扩展方法?

PHP中类似C#的扩展方法?
EN

Stack Overflow用户
提问于 2010-07-28 10:17:12
回答 1查看 6.9K关注 0票数 24

我喜欢C#中的方式,在那里你可以编写一个扩展方法,然后做这样的事情:

string ourString = "hello";
ourString.MyExtension("another");

甚至是

"hello".MyExtention("another");

有没有办法在PHP中拥有类似的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-28 10:25:55

如果您将所有字符串重新实现为对象,则可以。

class MyString {
    ...
    function foo () { ... }
}

$str = new MyString('Bar');
$str->foo('baz');

但你真的不会想这么做的。PHP本质上不是一种面向对象的语言,字符串只是原始类型,没有方法。

如果不扩展核心引擎,就不可能在PHP中实现'Bar'->foo('baz')语法(这也不是您想要了解的内容,至少不是出于这个目的:)。

对于扩展对象的功能,没有什么比简单地编写一个接受原语的新函数更好的了。换句话说,PHP与

"hello".MyExtention("another");

my_extension("hello", "another");

无论出于何种目的,它都具有相同的功能,只是语法不同。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3349428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档