質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • PHP

    20339questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    16415questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

PHPのファイルを増やしすぎている気がします

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 445

mi_

score 50

お世話になります。

長い話で大変申し訳ないのですが、

もともとPHPメインで勉強を始めたのですが、canvasの機能をつけるときに必要にかられてJavascriptで未入力や注意を換気する画面、未入力があれば進めないなどの制御をしたときに非常に便利だと思いました。

初心者向けのPHPの本で練習した内容にそって、入力のPHPファイル、次のチェックをするPHPファイル、最後にデータベースに書き込みをするPHPファイル。削除画面は、削除のチェック画面のファイル、データベースから削除するPHPファイル。修正の入力画面のファイル、修正の確認のファイル、修正内容をデータベースに書き込むファイル。と、機能を追加する度に、2~3個のファイルが増えていきます。

最初は不慣れ過ぎたので、それぞれのファイルとなっている方が分かりやすかったのですが、実際に先輩方はJavascriptなど、またはその他の機能を併用して、ファイル数が増えずに機能を追加されているのではないかと想像しています。

自分ひとりで作っていて、作ったものを利用する環境は、身内のスマホやパソコンのChromeのブラウザ、iPadのsafariくらいまでを想定しています。フレームワークは、プログラムそのものに不慣れすぎるので使わないようにしたいと思います。(必要とあれば取り組みたいと思います)

PHPだけで作るメリット(PHPと何かを併用しない方がいいメリット)、またはJavascriptか、その他などを使われる際に、単一の画面に機能をもたせるのは可能なのか、当たり前なのかなどについて、どのような方針、やり方でされていますでしょうか?関数などもそろそろ使った方がいい気がしてきました。

みなさんのご意見をお借りしたいと思います。

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+1

まずphpとjavascriptはWEBアプリケーションの中で立ち位置が違います。
phpはサーバで動き、javascriptはブラウザで動きます。
乱暴な例えですが、phpやhtmlデータをブラウザにドーンと読み込み、その後CSSで整えJSで動かします。

htmlもphpもjavascriptも上から順番に読み込みますので、どのタイミングでどう動かす、というのを意識しながらコーディングする必要があります。

「phpが増えすぎる」という気持ちも分かりますが、最初のうちはしょうがないかもしれません。
一通り動くようになったら、「このファイルとこのファイルは同じファイル上で動かせるな」みたいな気付きがあると思いますので、経験と共に洗練されたコードになると思います。
周りに教えてくれる人がいれば近道できますが、独学の場合は自分のペースで出来る代わりに近道が出来ません。地道にやりましょう。

最近の主流はMVCモデルで出来ている事が多いです。
MVCモデルの概念を漫画で解説してみる
慣れてきたら挑戦してみてください。

慣れてきたらcakeやzend等のフレームワークを使うのも手です。私はフレームワークに手を出さないまま事を進め、フレームワークが使えずに後悔しています・・

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/24 00:41

    ご回答ありがとうございます。MVCモデル、以前はややこしいだけ、と思っていました。ご提示いただいた漫画や解説をみると、ちょうど最近いろいろなサイトでCSSでいろんな表現をされてるのをみて、時にはデザインに専念したい、またはデザインの人に任せたいとも思いますので、MVCモデルは早めに取り組むべきところのような気がして来ました。
    フレームワークはどれがよいか、と考えているとフレーム使わなくてもいい、初心者は使わない方がいいという意見を目にして、勉強に時間がかかりそうで、そのままになっています。

    キャンセル

  • 2017/01/24 10:00

    フレームワークが何をやっているのか分からない内はフレームワークを使わないほうがいい、には私も同意です。不具合が出た時に制作者である自分が原因が分からないとか、そういうのは著しく信用を失います。
    誰もが通る道とは思いますが・・
    依頼者の意図するWEBアプリを作るのにフルスクラッチで対応するというのは本来あるべき姿です。ですが実際には納期や予算が存在するのでフレームワークで近道する、というのが実情でしょう。
    MVCは慣れるとメンテナンスしやすいですよ。切り分けが出来ますので。
    不具合の症状を訊いただけで「ああ、この部分だな」と分かりますので。
    持論ですが、最初はベタに作ってもいいと思っています。効率的にファイルをまとめる、何がいいのか分からないけど関数を作る、クラスを作る、その中で自然とMVCになると思っています。

    キャンセル

  • 2017/01/24 17:15

    大変詳しくありがとうございます!

    キャンセル

0

僕は簡単な入力チェックはHTML5の機能を利用しています。

【参考URL】
http://www.casleyconsulting.co.jp/blog-engineer/jquery/html5%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%90%E3%83%AA%E3%83%87%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AB%E8%A7%A6%E3%82%8C%E3%81%A6%E3%81%BF%E3%81%9F/

どのように拡張していくかにもよりますが、とりあえず拡張するにあたり関数を使ってみたり、javascriptのイベントでチェックしてみたりを試してみて拡張してみてはいかがでしょうか。

そのうえで元のコードとどれだけコード量が違うか、メンテナンスのしやすさなどが見えてくると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/01/24 00:25

    ご回答ありがとうございます。
    参考URLにあるHTML5の入力チェックのコードがその部分の直下に書かれていたりで使いやすそうです。正しい入力を促すという、入力補助になる点、すごく便利そうです。取り入れていきたいと思います。

    メンテナンスのしやすい、みやすい構造にしたいと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    Excelファイルをphpで取り込みCSVで出力する

    お世話になります。 タイトル通りにExcelファイルをphpで取り込みCSVで出力したいのですが、まずはやりたいことを記載します。 1)phpでExcelファイルをドラッグ&ド

  • 解決済

    カートに入れた情報の保存先について

    おせわになります。 PHPでEC用のカートを作ろうとしているのですが、通常カートに商品を入れた時の商品情報の一時保存先は、 どこが適切なのでしょうか? カートシステム

  • 解決済

    関数定義時に exist チェックする必要性

    関数定義をするときに存在するかチェックして、存在しなければ定義するというコードをたまに見かけます。 タグは PHP と JavaScript ですが、私がよく見かけると思っただけ

  • 解決済

    javascript:ファイルの有無を確認

    javascriptにて複数のファイルのpathを格納した配列を作りました。 その複数のpath、要素一つ一つに該当するファイルが存在するかをチェックしたいのですが、どのような方

  • 解決済

    ファイル有無チェック【再度】

    【再度質問】 javascriptにて複数のファイルのpathを格納した配列を作りました。  その複数のpath、要素一つ一つに該当するファイルが存在するかをチェックしたいので

  • 解決済

    サーバーで直列処理を書きたい

    複数のユーザがいるとして 各ユーザーには0~10のidを付けたいとします そこでサーバーでは接続してきたユーザに現在のid番号を与え、与え終わったらidをインクリメントをし

  • 解決済

    phpからjavascriptへ

    下記のphpをjavascriptに書き換えたいのですがどのように書いたらよいでしょうか? <!DOCTYPE html> <html lang="ja"> <meta cha

  • 解決済

    phpにjsonをpostするとデータが欠落する

    Javascriptからjson形式のデータをajaxでphp(5.3)にpostしたいです. jsonのデータは1.2MB程度のcsvファイルを加工して生成しています. json

同じタグがついた質問を見る

  • PHP

    20339questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    16415questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。