-

最近JavascriptとPHPを勉強し始めたのですが、使い分け方がよくわかりません…。
基本的にはJSは表側の処理、PHPは裏側の処理というイメージなのですが、
例えば自分でゼロからサイトを作るとして、そのサイトに「現在時刻を表示したい」という場合に、JavaScriptとPHPどちらを使いますか?
結局は好みやその言語の習熟度によるのでしょうか?

みんなの回答 4 件

名無しさんの回答

表側、裏側というイメージはだいたい合ってます。現在時刻だとわかりづらいですが、例えばデータベースへのアクセスなんかはPHPに分がありますね。JavaScriptは見ようと思えばユーザーがプログラムを全部見る事ができちゃいますが、PHPなどのサーバサイドのプログラムは処理結果をユーザーに提供するので、どういうプログラムが書かれてるか基本的には見えません。よって、例えば特定のパスワードを使ってデータベースにアクセスする処理をプログラムに書いていても、PHPなら覗かれる事はありません ※ハッキングして覗くとかの話は抜きですよ。 好み以上に、使いドコロ、特性がかなり違っています。もうちょっと深く勉強してみることをお勧めします。

名無しさんの回答

JavaScriptはブラウザによって処理が行われます。
PHPはサーバーによって処理が行われます。

その為、トピ主さんの出された例の場合結果が全く異なります。
JavaScriptで現在時刻を取得した場合、クライアントのPCの時計の時刻が返されますが、
PHPで取得した場合、ウェブサーバーの時間が返されます。
この場合、その目的に応じて使い分ければ良いでしょう。

またフォームの入力チェックなどの処理もJavaScriptだけで行った場合、JavaScriptをブラウザの設定でOFFにされた場合、素通りになってしまいます。あくまで暫定的なチェックを行う目的のみに使用し、最終的なチェックはPHPなどのサーバーサイドで行うというのが確実です。

このように、JavaScriptでの処理はユーザー次第でいくらでも回避可能だという事を頭に置いておくと良いでしょう。

名無しさんの回答

すでに明快な回答がありますが、ちょっとだけ補足すると、JSはユーザーのPCが動かす、PHPはサーバーが動いているPCが動かすので、たとえば処理の重いことをしたい場合、サーバー側に負担をかける(全体に影響)のか、ユーザー側に負担をかける(ユーザーによっては閲覧できない可能性)かを分けて考えることもできます。どちらを優先するかはサーバーのスペックやプログラムの内容で決定することになると思います。

名無しさんの回答

質問者です。みなさま、ご回答ありがとうございました!!

細かいことにとらわれて、言語そのものの基本を忘れてしまっていました。お恥ずかしい。
JSのバリデーションチェックの盲点については、目からうろこが落ちたような思いです。

おおまかには、

  • サーバーを通して処理したほうがよいデータ、または通して処理すべきデータ
  • ユーザーに隠しておきたいデータ
  • ブラウザの設定や環境が違っても動作する機能
    などについてはPHPで処理したほうがよいということですね。

>たとえば処理の重いことをしたい場合、サーバー側に負担をかける(全体に影響)のか、ユーザー側に負担をかける(ユーザーによっては閲覧できない可能性)かを分けて考えることもできます。
上記についても、なるほどなと納得させられました。
そういった視点からも言語の使い分け、ひいてはwebサイトの構築の仕方を考えることもできるのですね。

今後は基本を忘れずに、広い視野を持って言語を勉強してみます!ありがとうございました!!

最終更新日:2012-08-16 (12,373 views)

関連するトピックス

ページ上部に戻る