Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将内容文件分配给静态属性时,php中出现意外的分析错误(,应为)_Php - Fatal编程技术网

将内容文件分配给静态属性时,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替换受保护的…更好: