「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > PHP クラスのプロパティは非定数式で初期化できますか?

PHP クラスのプロパティは非定数式で初期化できますか?

2024 年 11 月 10 日に公開
ブラウズ:797

Can PHP Class Properties Be Initialized with Non-Constant Expressions?

PHP クラス初期化の難問: プロパティ宣言内の式の評価

PHP ドキュメントには、クラス プロパティ宣言は定数値で初期化できると記載されています。ただし、定数以外の式を使用して配列を初期化しようとすると、構文エラーが発生することがあります。

構文エラーの例:

public $var = array(
    1 => 4,
    2 => (4 1), // Syntax error
);

根本的な問題:

このエラーは、プロパティ宣言では定数値のみが許可されていた PHP 5.5 以前のバージョンの制限に起因します。これには、コンパイル時に評価できる値が含まれます。ただし、「4 1」のような計算式の使用は禁止されていました。

PHP 5.6 での解決策:

この制限は、PHP 5.6 の導入により解除されました。定数スカラー式の。この機能により、次の構文が可能になります:

public $var = array(
    1 => 4,
    2 => (4 1),
);

public $var = 4 1;

結論:

以前のバージョンの PHP で非定数式を使用してクラス プロパティを初期化するときに発生した構文エラーは、PHP で解決されました。 5.6 以降のバージョン。定数スカラー式により、開発者はコンパイル時に評価できる計算値でプロパティを初期化できるようになりました。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3