問題タブ [class-constants]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHPでのクラス定数の使用とオーバーライド
値がtrueまたはfalseのいずれかで、変更されないクラス構造があり、現在変数として実装されている場合は、次のような定数に変更することをお勧めします。
後で、そのクラス階層内の任意のタイプのオブジェクト(親またはその子の1つ)があり、「SomeChild」のように、値がtrueになるようにオーバーロードした子もあります。
クラスを知らなくても定数にアクセスできる方法はありますか?言い換えれば、私は次のようなことをすることができます:
または、実際には変更すべきではないのに、これらの値を変数のままにしておく方がよいでしょうか。
アップデート
私が尋ねようとしていたことをよりよく表現するために、上記の質問を言い換えました。
php - PHPは、配列の代入で文字列をclassconstantに連結します
以下は機能しません:
誰かがそれがなぜなのか教えてもらえますか? :)
... => self::t で失敗します。'hello')... の部分で、継ぎ目として、array() でクラス定数を連結できません。
これは、次の両方が完全に機能することを意味します。
と
java - Java 定数プールの目的は何ですか?
私は現在、Java 仮想マシンの仕様をより深く掘り下げようとしています。私はInside the JVM book をオンラインで読んでいますが、理解できない紛らわしい抽象概念が 1 つあります。それは、Constant Pool です。ここに本からの抜粋があります:
ロードする型ごとに、Java 仮想マシンは定数プールを格納する必要があります。定数プールは、リテラル (文字列、整数、および浮動小数点定数) と、型、フィールド、およびメソッドへのシンボリック参照を含む、型によって使用される定数の順序付けられたセットです。定数プールのエントリは、配列の要素と同じように、インデックスによって参照されます。型によって使用されるすべての型、フィールド、およびメソッドへのシンボリック参照を保持するため、定数プールは Java プログラムの動的リンクにおいて中心的な役割を果たします。
上記および CP 全般についていくつか質問があります。
- CP
.class
は各タイプのファイルに配置されていますか? - 著者は「シンボリック参照」とはどういう意味ですか?
- コンスタントプールの目的は何ですか?簡単な英語で?
c++ - クラスの定数データメンバーをコンストラクターで初期化する必要があるのはなぜですか?
クラスの定数データメンバーをコンストラクターで初期化する必要がある理由と、他の場所で初期化しない理由を知りたいですか? そうすることとそうしないことの影響は何ですか?
また、クラス内で初期化できるデータ メンバー以外は、クラス内で静的定数整数データのみを初期化できることもわかります。
例:- 以下が私のクラス宣言であるとします
そして、コンストラクターは以下のように定義されています:-
編集されたセクション: 前のコンストラクター定義の例が間違っていたため
間違っている場合は修正してください。前もって感謝します。
php - PHPで外部の必要なファイルから定数にアクセスするにはどうすればよいですか?
クラスコードに定数を保持している場合に機能するこのクラスを作成していますが、ユーザーがc定数値をコメントまたはコメント解除できる外部ファイルからそれらにアクセスしたかったのです。
この方法はうまく機能しますが、ユーザーがコードを探し回ってほしくありません。
クラスファイルにハードコードされているため、これは問題なく機能します。
これを使用して動作させたい:
PWDALGO が定義されている場合、 if /else ステートメントで else を取得し続けます。
またはこの方法
エラーが発生し続けるため、これが可能かどうかはわかりません。クラススコープ内にファイルを含めたり要求したりできるとは思いません。
将来、これが機能するようになったら、セットアップスクリプトでサーバーをチェックして、利用可能な暗号化の種類を確認し、ユーザーが優先する暗号化方法を選択できるようにリストを作成し、自動的に設定する必要がありました. 後で管理コントロール パネルから暗号化方式を変更できます。
php - 定数名に変数を使用して PHP クラス定数にアクセスできますか?
クラス定数にアクセスすると、クラス名に変数を使用できることがわかります$classname::CONST_VALUE
。
定数名に変数を使用したい場合はどうすればよいですかself::$constant
。これはうまくいかないようです。回避策はありますか?
php - クラスのすべての定数の配列を作成しますか?
私はほぼ20の定数が定義されているクラスで作業していました。配列にこれらすべての定数値が必要なので、知りたいだけです。
クラスのすべての定数の配列を作成するメソッドはありますか?
コンパクトで試してみましたが、定数では動作しません。
php - PDO::MYSQL_ATTR_MAX_BUFFER_SIZEを使用したPHPでの致命的なエラー
PHP Webアプリケーションで、PDO :: MYSQL_ATTR_MAX_BUFFER_SIZEで致命的なエラーが発生しましたが、非常にまれなホスティングプランでのみ発生します。この定数は利用できないと言っています。利用できないことを検出して使用しないようにするにはどうすればよいですか?
つまり、if(!defined(...))if / thenチェックを使用できますが、MYSQL_ATTR_MAX_BUFFER_SIZEがPDOでコンパイルされていないシステムでは、致命的なエラーが発生しますか?MYSQL_ATTR_MAX_BUFFER_SIZEとmysqlndに関する既知のバグがあり、mysqlndがインストールされている場合はコンパイルされないことに注意してください。バグは「修正されない」とマークされています。
iphone - ObjectiveCでクラスのインスタンスを作成せずにクラスの定数にアクセスする
以下の C# クラスは、定数を保持するためだけに使用されます。したがって、クラス名を使用してそれぞれにアクセスできます。したがって、「Constants.DIR_ARCHIVE」は「Archive」を提供します。
ObjectiveC で以下の C# クラスを定義するにはどうすればよいですか?