将内容文件分配给静态属性时,php中出现意外的分析错误(,应为)
可能重复:将内容文件分配给静态属性时,php中出现意外的分析错误(,应为),php,Php,可能重复: 我有这门课: <?php class MyClass { const DB_NAME = "MyDb"; const HOST = "localhost"; const USER = "abcdef"; const PASSWORD = "ghijklmn"; public static $MyString = file_get_contents('file.txt'); } ?> 我不知道文件获取内容有什么问题 我无法理解错误
我有这门课:
<?php
class MyClass {
const DB_NAME = "MyDb";
const HOST = "localhost";
const USER = "abcdef";
const PASSWORD = "ghijklmn";
public static $MyString = file_get_contents('file.txt');
}
?>
我不知道文件获取内容有什么问题
我无法理解错误是怎么说的?为什么(
是意外的
我阅读了以下文章,但这些文章无助于我解决该错误:
这是因为您已将表达式指定给变量声明。它只能使用常量 解决办法是这样的
<?php
class MyClass {
...
public static $MyString;
...
}
MyClass::$MyString = file_get_contents('file.txt');
这是因为您已将表达式指定给变量声明。它只能使用常量
解决办法是这样的
<?php
class MyClass {
...
public static $MyString;
...
}
MyClass::$MyString = file_get_contents('file.txt');
不能使用表达式或常量初始化类属性。该值必须在编译时可用。请在静态init()中初始化它
方法。即使在构造函数中也可以看到第一段吗?我可以在构造函数中使用吗?通常在contstructor中初始化它,但由于您的是静态的,因此不必首先通过构造函数进行实例化。这就是为什么我建议使用静态init()
方法初始化静态属性。请参阅链接副本-这里有一个类似的示例。不能使用表达式或常量初始化类属性。该值必须在编译时可用。在静态init()中初始化它
方法。即使在构造函数中也可以看到第一段吗?我可以在构造函数中使用吗?通常在contstructor中初始化它,但由于您的是静态的,因此不必首先通过构造函数进行实例化。这就是为什么我建议使用静态init()
初始化静态属性的方法。请参阅链接副本-那里有一个类似的示例。好的,现在我明白了,当我使用C#3年时会发生这种情况:))这将返回致命错误:无法访问受保护的属性MyClass:$MyString
好的,用public替换受保护的…更好的是:好的,现在我明白了,当我使用C#3年时就会发生这种情况:))这将返回致命错误:无法访问受保护的属性MyClass:$MyString
好,用public替换受保护的…更好: