0

次のコードの何が問題になっていますか?そして、それを行う正しい方法は何ですか?

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

私が得るエラー:

PHP解析エラー:構文エラー、予期しない'('、予期しない'、'、または';'が/tmp/testik.phpの3行目にあります

どうもありがとうございます。

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 に答える