类的php语法

PHP-Like syntax for classes

本文关键字:语法 php 类的      更新时间:2023-10-16

我只是想知道这在c++中是否可能。

在PHP(框架)中,我有时看到类(对象)和类中的方法被访问:

$this->encrypt->decode($msg, $key);

在我的一个程序中,我有以下内容:

Directory *d = new Directory("dir");
d->open();

是否可以改为:

Directory *d = new Directory("dir")->open();

所以这两个方法可以在同一行执行?

PHP代码$this->encrypt->decode($msg, $key);在当前类中调用encryptdecode()方法

你的代码正在执行一个不同的任务,初始化一个类,然后调用它。

同样,在PHP中也不能这样做:

$test = new Test()->method();

. .你也不能在c++中这样做。在这种情况下,您不会期望在$test中出现Test的实例,而是在新实例化的测试对象上返回method()

也就是说,如果你只需要open()的返回值(或者什么都不需要)而不需要Directory的实例,你确实可以像你说的那样内联它:

Directory("dir").open();

不,除非将Directory类设置为显式支持这一点,否则这是不可能的。这通常涉及到使类中的大多数方法返回对自身的引用,以便您可以将方法调用链接在一起。

你的PHP示例是完全不同的。你发布的例子的c++版本应该是:

Directory("dir").open();

,没有捕获Directory("dir")

返回的Directory实例