0

これは PHP 上の CodeIgniter です。

私の(MVC)ビューでは、ループのインスタンスごとに小さなフローグラフ(javascript)を作成するループがあります。

<?php
for each ($catalog as $book) {
    echo "<li>";
    echo anchor('controller/manager/'.$key['Title']) . ' is available';

      // flot javascript goes here to generate a small graph for this list item

}
unset ($book);      ?>

ループ自体は PHP であり、javascript はおそらく 50 行程度のコードであり、いくつかのサンプルから別の場所で開発しました。

したがって、そのコードをこのビューで機能させるには、各行をエコーアウトする必要があります。そうしないと、javascript が開始する直前に PHP を終了し、javascript が終了した後に php を再デカルするときにfor eachループを中断します。

それを行うためのより効率的な方法は何ですか?

4

4 に答える 4

1

インライン JavaScript をバックエンド コードに結合するのではなく、目立たない JavaScript を使用することをお勧めします。

于 2013-10-21T21:56:43.733 に答える
1

テキスト/コードの大きなブロックは、ヒアドキュメントを使用して簡単にエコーアウトできます。JavaScript で PHP 変数を使用する必要がある場合でも、PHP はブロックを解析します。

http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

$some_javascript = <<<_JS
some mulit-
line text
<<<_JS
于 2013-10-21T22:08:21.773 に答える