menu

【Laravel】PHPのクラスで定義された配列の定数をjavascriptで扱う方法

公開日:2020年07月08日 カテゴリー:JavaScript, Laravel, PHP, 開発

LaravelのテンプレートエンジンであるbladeでHTMLファイルをコーディングするときに、
「配列で定義されたクラスの定数の添え字をjavascriptの変数にしたい」と考えることがあります。

しかし、bladeテンプレートでは

で記述された部分はPHPのコードだと認識されてしまいます。

例えばjavascriptでval[‘data’]という変数が存在したとします。その時

と記述してしまうと、「val[‘data’]」という変数は定義されていません、とエラーが返されてしまいます。

今回は、その解決策をご紹介いたします。

以下のような定数がクラスConstClassに定義されていることを想定します。

jsで取得したIDから個々の名前を表示させたいとき、どうすればいいでしょうか。
この時、IDはjavascriptにおいて val['fruit_id'] で取得できるものとします。

ついつい

と書きたくなりますが、先述したようにエラーが返されてしまいます。

そこで、定数そのものをjavascriptに渡してあげる、と、考えます。つまり

と記述します。つまり、以下のように記述できます。

こうすることで、エラーなく表示することができます。