JavaScriptにPHPを埋め込む方法を現役エンジニアが解説【初心者向け】
初心者向けにJavaScriptにPHPを埋め込む方法について現役エンジニアが解説しています。PHPはサーバーサイドで動作するスクリプト言語です。今回はPHPからJavaScriptへデータを渡す方法としてJSONを使う方法を解説します。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
JavaScriptにPHPを埋め込む方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使って初心者向けに解説します。
JavaScriptについてそもそもよく分からないという方は、JavaScriptとは何なのか解説した記事をみてみましょう。
なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。
今回は、JavaScriptに関する内容だね!
どういう内容でしょうか?
JavaScriptにPHPを埋め込む方法について詳しく説明していくね!
お願いします!
目次
PHPとは
サーバーで動作するサーバーサイドのスクリプト言語です。
あくまで一例ですが、Webシステムを構築でき、HTMLを動的に生成できます。
JavaScriptにPHPを埋め込む方法
サーバーサイドで取得・加工したデータをJavaScriptに渡して使いたいシーンは多く存在しています。
例えば、ECサイトの商品詳細ページにて商品の画像をスライドショーで出したいといったタイミングです。
この場合、商品によって出したい画像は変わるものの、スライドショーとして動かすためのJavaScriptの処理は同じです。
アクセスされた商品ページごとの画像データのみ変動するといった状況です。
そういった時にPHPで取得・加工したデータをJavaScriptに渡すことでスムーズに連携ができるようになるでしょう。
PHPからJavaScriptへデータを渡す時は以下のよう記述します。
<?php // 配列をJSON形式に変更する。 $jsonArray = json_encode($array); ?>
<script> // JSONをパース(解析)して受け取る。 let array = JSON.parse('<?php echo $jsonArray?>'); </script>
PHPのechoを使うことで出力ができるため、この方法でJavaScriptへの埋め込みが可能です。
実際に書いてみよう
<?php $imgList = array( 1 => array( 'id' => 2347, 'name' => 'hogehoge2347.jpg', 'caption' => 'ほげほげの画像です', ), 2 => array( 'id' => 2356, 'name' => 'hogehoge2356.jpg', 'caption' => 'ほげほげの画像です', ), 3 => array( 'id' => 24056, 'name' => 'hogehoge24056.jpg', 'caption' => 'ほげほげの画像です', ) ); ?>
このPHP配列を渡してみましょう。
<script> let imgList = JSON.parse('<?php echo json_encode($imgList)?>'); </script>
中身確認します。
<script> console.log(imgList); </script>
結果
渡すことができましたね。
まとめ
JavaScriptにPHPの値を渡す時は、一度PHPガワデJson形式に変換し、JavaScript側でパース(解析)して受け取ります。
執筆してくれたメンター
土田隼平(つちだしゅんぺい)
フリーのWebエンジニアです。 最近までは求人サービスや画像共有システム、ECサービスの開発・運用をやってました。 趣味はラジオ(特にオールナイトニッポンとJUNK)を聞くことや近所の散歩です。 今の最重要ミッションは「運動不足解消」です。 |
JavaScriptにPHPを埋め込む方法がよく分かりやすくて良かったです!
ゆかりちゃん、これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、JavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。