在PHP中可以有全局方法吗?

在PHP中可以有全局方法吗?,php,javascript,ruby,scalar,Php,Javascript,Ruby,Scalar,在Ruby/Javascript等语言中,可以对任何对象应用对象运算符。即 var string = "Pancakes"; alert(string.length); // 8 当一切都在对象中时,这叫什么?有没有什么东西可以让PHP以这种方式运行,而不必自己动手破解?这是PHP社区当前要求的吗 能够执行echo(新字符串(“Hello”)->length(),甚至“Hello”->length()我甚至会满足于: $var = "Hello"; echo $var->length;

在Ruby/Javascript等语言中,可以对任何对象应用对象运算符。即

var string = "Pancakes";
alert(string.length);
// 8
当一切都在对象中时,这叫什么?有没有什么东西可以让PHP以这种方式运行,而不必自己动手破解?这是PHP社区当前要求的吗

能够执行
echo(新字符串(“Hello”)->length()
,甚至
“Hello”->length()我甚至会满足于:

$var = "Hello";
echo $var->length;
它叫。PHP支持OOP,但很多语言都是作为接受参数的平面函数实现的


如果要对对象进行操作,您需要定义自己的对象,否则就必须在内置类型(如
String
)上使用类似于
strlen()
的函数,他们称之为面向对象编程。PHP的较新版本是面向对象的。您可以使用方法创建类来完成您所指的任务。

Java程序员使用该术语来表示对原始值调用方法的能力。JavaScript也有这个特性,它通过创建临时包装器对象来工作。我对鲁比一无所知

在PHP中,这是不可能的
newstring(“Hello”)->length()
也是不可能的,主要是因为没有
String
类和
length
等方法。你可以自己创造,但值得吗?另外,你可能会对它感兴趣

面向对象(OO)是“事后”附加到PHP上的东西。在OO实现之前,一切都是使用函数完成的(就像许多其他类似C的编程语言一样)

在PHP中,字符串、整数、布尔值等只是数据。它们是原始类型,不能做任何事情;它们只是存储在内存中的命名值。这就是为什么需要使用函数,比如
strlen($str)
。该函数对值进行操作

实际上,在Ruby和Javascript等语言中,字符串等大多数数据类型实际上是对象(或者在某些情况下有点像sorta对象)。它们包含各种属性,如
.length
,以及
.indexOf()
等方法。此类数据类型的另一个词是复合类型(它们由多个内容组成)

因此,在PHP中,您可以说编写
strlen($str)
来计算字符串的长度是正常的;同样,在Javascript或Ruby中编写
str.length
也是正常的


可以用PHP编写
String
类,但这有点离题了。这就像学习数到十,但坚持要在7进制完成。这不太实际,人们会认为你疯了。

不,不,我知道这是OOP。我只是不知道调用所有变量的.toString()或.split()之类的函数,而不是执行explode(“\n”、$var)或(string)$var……是否有一个特定的名称。后者可以说不是面向对象的,因为您调用的是函数而不是方法。@Steve这似乎是引用或(“所有变量”).PHP部分是面向对象的,大部分是过程性的。我相信在PHP中,如果不“将某些东西拼凑在一起”,你几乎做不到什么,但这是另一个主题。。。