gpt4 book ai didi

PHP - 意外的全局,期待类中的字符串

转载 作者:行者123 更新时间:2023-12-02 06:09:08 26 4
gpt4 key购买 nike

在我的类(class)(实际上是一个 CakePHP 模型)中,我试图简单地设置一个变量,然后从函数内部访问它,但我收到以下错误:

解析错误:语法错误,意外的 T_GLOBAL,期望在第 120 行的/path/to/file/file.php 中有 T_FUNCTION

我的文件第 120 行开始如下:

global $accessid = 'accessid';
global $secret = "secret";
global $b = 0;
global $m = 0;

function generateCredentials() {
global $accessid;

return $accessid;
}

知道我哪里出错了吗?谢谢!

最佳答案

我猜这是在类定义中,例如:

class Foo {
global $var;
}

你不能在那里使用这个关键字。您可以在类属性之前使用的唯一关键字是可见性声明 varpublicprotectedprivate。类属性始终是它们在其中定义的类的属性,它们不能是全局变量。

如果你坚持,你可以在一个函数中从 global 获取它们并将它们设置为属性:

class Foo {
public $var;

public function foo() {
global $var;
$this->var = $var;
}
}

虽然这一切都非常丑陋,尤其是因为 Cake 为您提供了更好的工具来处理这些事情,例如 Configure class在全局注册值。

或者您可能只想创建简单的类属性:

class Foo {

public $accessid = 'accessid';
public $secret = "secret";
public $b = 0;
public $m = 0;

function generateCredentials() {
$this->accessid;
}

}

关于PHP - 意外的全局,期待类中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5563758/

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