3


1

JavaScript関数内でPHPを使用する

PHPをJavascriptに混在させるのに最適な方法は何ですか? しないでください。 特定の方法で行う必要がありますか? 私はプロジェクトに取り組んでいますが、次のjavascript関数が見つかりました。

function getStuff() {
                stuff as $k => $v){
                    $stuff = $stuff . ";" . $v['stuff_id'] . ":" . $v['stuff_name'];
                }
                ?>

                return "<?= $stuff ?>";
            }

PHPが提供するデータが必要な場合、それを取得する理想的な方法は何ですか? これは私には思えませんが、これを書いた人は私の上司なので、変更する前に尋ねたいと思います。

参考までに、このJSはビュースクリプトで使用され、 `$ this→ stuff`のデータはそれを使用するコントローラーから渡されます。

3 Answer


3


それを行う素晴らしい方法は、データを「JSON」に準備し、それをページ上の変数にすることです。 複雑な構造(配列 `n`の深さの連想配列)を作成し、それをJavaScriptのオブジェクトリテラルとして表すことができます。

一般的に、あなたはそのようなPHPタグの内外にジャンプすることを嫌うのは正しいことです。 readくて、読むのも維持するのもかなり難しい。


1


これはかなり恐ろしいことです。それを行うより良い方法は、Ajaxリクエストを介して適切な形式でデータをリクエストすることです(例: JSON)

なぜ「恐ろしい」のかを説明します。 明らかに、この関数は仕事を終わらせるために迅速かつ不潔な方法で構築されており、このアプローチによって関数の継続的なデバッグとメンテナンスが妨げられています。 サーバー側のデータの配信とクライアント側の処理を分離することで、物事をシンプルで追跡しやすくなります。


1


ur jsとPHPを混在させる方法はたくさんあります。 常に心に留めておくべきことは

JSが実行される前に、サーバーでPHPが最初に実行されます。

選択ボックスに動的に何かを追加しようとしているようです。 その場合は、次のようなことができます

 $value)
        $selTxt .= "". $value. "";

    $selTxt .="";

    return $selTxt;
}


?>



 "One", 2 => "Two", 3=> "Three" );
echo createSelectbox($selItems);
?>