0

请问,下面的代码有什么问题?正确的方法是什么?

class SomeClass {
    var $someVar = trim('some value');
}

我得到的错误:

PHP Parse 错误:语法错误,第 3 行 /tmp/testik.php 中出现意外的 '(',期待 ',' 或 ';'

非常感谢。

4

4 回答 4

8

您不能在那里运行函数。只允许常量值作为对象属性的初始化值。如果您需要该trim函数来初始化 $someVar,请在构造函数中运行它:

class SomeClass {
  var $someVar;

  function __construct() {
    $this->someVar = trim('some value');
  }
}
于 2011-05-19T15:35:23.393 回答
1

您不能在 PHP 中使用函数结果设置类变量。分配的值必须是常量字符串或数字。您正在执行的分配类型必须通过构造函数完成。

于 2011-05-19T15:35:41.417 回答
1

尝试这个:

class SomeClass {
   $someVar = "";

   public __construct() {
       $this->someVar = trim('some value');
   }
}

我相信问题是当你声明这样的成员变量时你不能调用函数。

于 2011-05-19T15:36:17.737 回答
0

您不能用非常数初始化类属性。参见例如http://www.php.net/manual/en/language.oop5.properties.php

于 2011-05-19T15:36:16.823 回答