別のjsファイルで通常どおりjavascriptコードを作成するか、PHP経由で生成することを考えていたので、この質問を疑問に思っています.PHP経由で生成された場合、それが悪い習慣であるかどうか教えてもらえますか?
5 に答える
HTML を生成するのと同じくらい悪いことなので、いいえ、そうしても問題ありません。ただし、JavaScript が変更されない場合は、別のファイルが理想的です。
私がそれを助けることができるなら、私はしません。他に対処する方法がない限り。保守性とテスト性が頭に浮かびます。そして、それはかなり言語にとらわれない質問です。純粋に解釈された言語ではうまくいくかもしれませんが、コンパイル済み/セミコンパイル済みの言語でそのようなことをすると、苦痛になる可能性があります。to の混合を最小限に抑えることに投票します。JS が動作するデータ要素を公開する必要がある場合は、残りの JS を別のファイルに保存するだけです。
必ずしも悪い習慣というわけではありませんが、主に長期的なコードの保守性という名目で、絶対に避けるようにしてください。JavaScript を動的に生成する必要がない場合は、すべきではありません。
それでも、動的に生成する必要がある場合でも、ほとんどの場合、動的変数を生成するだけです。
静的な JavaScript ファイルを記述してから、変数を使用してスクリプト タグを動的に生成するのが賢明な判断です。
例:
<script type="text/javascript">
var message = "<?= $my_message ?>";
</script>
<script type="text/javascript" src="static-message.js" />
static-message.js が含まれている場所:
alert("Your message: " + message);
static-message.js ファイルをロードする前にメッセージ変数が設定されるため、これが機能します。
これができると非常に便利ですが、コードのメンテナンスとコードの明瞭さの観点から、純粋にそうすることはお勧めしません。また、一部のエディターは、サーバー コンテンツも含む JS コードに対して優れたインテリセンスを持っていません。
PHP を使用して CSS ファイルを動的に生成することがよくあります。これにより、複数のプロジェクト間で共有できる CSS スタイル シートを作成できますが、特定のプロジェクトに関連するカスタマイズされたスタイルも含まれます。
同じことが他のリソースにも適用できます。JavaScript、画像、PDF ドキュメントなどを含む..など..
PHP でこれを成功させるための鍵は、正しいヘッダー情報を適用することです。ブラウザーが応答をキャッシュする方法を含めます。スクリプトからの出力を一時ファイルにキャッシュすることもできます。同じ情報に対する今後のリクエストをより迅速にロードするため。