在字符串文字上调用函数

时间:2015-02-23 01:24:20

标签: php

我想知道是否可以在PHP中调用字符串文字(如Python)中的函数(尝试使用谷歌搜索,但90%确定我的术语已关闭)。

示例python:

"test,1,2,3".split()

我想实现(在PHP伪代码中):

$result = "SELECT `db`.`table`.`field` FROM `db`.`table` WHERE 1"->query();

目前我这样做:

$result = MySql::query("SELECT `db`.`table`.`field` FROM `db`.`table` WHERE 1");

但我真的很喜欢中间例子的简单性,并且想知道在PHP中是否有可能这样做,可能是通过覆盖PHP字符串类?

2 个答案:

答案 0 :(得分:4)

不同之处在于,Python(和类似的OO语言)中的所有内容都是一个对象,这就是为什么即使是字符串也有"方法"和"属性"。 PHP不是一个完整的从上到下的OO语言,字符串只是原始字符串。即使它们是对象,字符串可能也不会有与数据库查询相关的方法,因为这是非常奇怪的OO设计,具有非常复杂的职责。

答案 1 :(得分:2)

没有真正的方法可以做你正在谈论的事情

$result = "SELECT `db`.`table`.`field` FROM `db`.`table` WHERE 1"->query();

在此示例中,您的字符串只是一个字符串。然后尝试像对象一样引用它。在这种情况下,您会收到Fatal错误,因为您告诉PHP使用不存在的对象。

与您描述的最接近的是直接链接,您可以在其中创建类的实例并在同一语句中引用它(在PHP >= 5.4中可用)

$class = (new Class())->function();