gpt4 book ai didi

关于如何重置类的 php 4 到 5 移植问题

转载 作者:行者123 更新时间:2023-12-04 07:05:03 24 4
gpt4 key购买 nike

有人编写了以下 php4 代码,我现在正尝试将其移植到 php5:

类(class)是 Foo (更改名称以保护有罪者)。
在其中一种方法中,我们将其称为 save() 类显然是这样重置的:

$this = new Foo($this->Foo_Id);

这会导致以下错误:
( ! ) Fatal error: Cannot re-assign $this in ...

我的想法是像这样修复它,但我担心它可能不一样:
$this->Foo($this->Foo_Id);

当我包含该类时,PHP 不再抛出解析/ fatal error ,但就像我说的,我会实现与 php4 构造相同的东西吗?

最佳答案

在不知道组织类(class)的环境的情况下,很难告诉您正确的解决方案。

取决于此,您可以执行以下操作:

return new Foo($this->Foo_Id);

调用“save”方法的代码将获得 Foo 的一个实例。从外面看,这可能看起来像:

之前:
$instance->save($ID);
$instance->methodFromClassFoo(); # Instance would be now of class foo. (which btw. is really bad design.

后:
$foo = $instance->save($ID);
$foo->methodFromClassFoo();

甚至:
$instance = $instance->save($ID); // Instance is now instance of foo.
$instance->methodFromClassFoo();

也许这对你有帮助。

关于关于如何重置类的 php 4 到 5 移植问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1238354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com