2016-11-27 28 views
7

次のコードがあります。「PHP致命的なエラー:定数式に無効な操作が含まれています」というエラーが表示されます。コンストラクタで変数を定義するとうまく動作します。私はLaravelフレームワークを使用しています。定数式に無効な操作が含まれています

<?php 

namespace App; 

class Amazon 
{ 
    protected $serviceURL = config('api.amazon.service_url'); 

    public function __construct() 
    { 
    } 

} 
+0

あなたは、その時点での関数を使用し必要に – RST

+0

コンストラクタに移動することはできません構造体()関数の中でserviceURLの値を代入する –

答えて

11

としては、あなたがこの作品を作ることができる唯一の方法があるhere

Class member variables are called "properties". You may also see them referred to using other terms such as "attributes" or "fields", but for the purposes of this reference we will use "properties". They are defined by using one of the keywords public, protected, or private, followed by a normal variable declaration. This declaration may include an initialization, but this initialization must be a constant value--that is, it must be able to be evaluated at compile time and must not depend on run-time information in order to be evaluated.

を説明した: -

<?php 

namespace App; 

class Amazon 
{ 
    protected $serviceURL; 

    public function __construct() 
    { 
    $this->serviceURL = config('api.amazon.service_url'); 
    } 
} 
0

このようにクラスプロパティを初期化することはできません。初期化をコンストラクタに移動する必要があります。

関連する問題