1

私はjQueryモバイルを初めて使用しますが、それを使用するのが大好きです! 苦労しているキャッシングに関するいくつかの問題に遭遇しました。

次の内容を含むphpファイルがありますdefine

define('HEADING_TITLE', 'Page 1');

そのファイルは Web サイトのページ 1 にロードされます。HEADING_TITLE をエコーすると、「ページ 1」と表示されます。

ページ 2 には、次のように HEADING_TITLE をオーバーライドする別の php ファイルが必要です。

define('HEADING_TITLE', 'Page 2');

HEADING_TITLE をエコーすると、まだ「ページ 1」が表示されます。ページ 2 の定義が処理されていることはわかっています。定義die(HEADING_TITLE);の直後に行を追加すると、スクリプトは実際に停止しますが、「ページ 1」が表示されるからです。

jQuery モバイルで HEADING_TITLE 変数を上書きできるようにするにはどうすればよいですか? それとも、別の方法でこれを行う必要がありますか? PAGE1_HEADING_TITLE や PAGE2_HEADING_TITLE などの異なる定義変数を作成することは問題ありませんが、より良い方法があれば知りたいです。

4

1 に答える 1

1

簡単に言えば、 define をオーバーライドすることはできません。これらは何らかの理由で定数と呼ばれます。長い答えは、実行時にできますが、ハックで悪い考えです。

ランタイムで定数をオーバーライドする場合は、次のようにします。

runkit_constant_redefine("HEADING_TITLE", 'Page 2');
于 2012-07-13T17:11:52.913 に答える