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

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

Q&A

解決済

6回答

388閲覧

PHPの勉強について

murama2

総合スコア113

PHP

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

0グッド

2クリップ

投稿2019/08/17 01:34

PHPを独学で勉強しているのですが、質の向上についてご相談したいです。
勉強内容としましては、簡易掲示板を作成し文章の追加や会員登録機能など色んな機能をつけ足しながら進めております。
ですが、会員登録機能などどれもネットにあるコードを真似ているだけの物になってしまっています。
別の物で同じ機能を実装しようとしたとき、コードがどのような動作をしているかは、調べながら把握はしているつもりですがすぐにこの機能が思い出せるか不安な部分もあります。
調べている時は、なるほどと思っていても数日後には、忘れている事が多いです。
そのため、こんな方法で機能実装しても意味がないのではなど思ってしまっております。

勉強の質をあげるには、どのように進めるのがいいのでしょうか。

よろしければご教授いただければ幸いです。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

この機能が思い出せるか不安な部分もあります。

調べている時は、なるほどと思っていても数日後には、忘れている事が多いです。
そのため、こんな方法で機能実装しても意味がないのではなど思ってしまっております。

この手の質問はよくあがるんですけど、
現場で何年もやっている技術者ですら全ての機能を記憶しているわけではありません。
プログラミングにおいて重要なのは「要件を満たしているかどうか」「仕様通りにできているか」「実現できるロジックになっているか」であって、「機能を全て覚えているか」ではないからです。

覚えているに越したことはないですが、言語には数え切れないほどの機能があり、アップデートの度に機能が増えたり、機能に機能が追加になったり、解釈が変わったり、また機能自体がなくなったりしています。

ですので、PHPで言えばPHPマニュアルをきちんと活用できているならそれでOKです。「こんな感じの機能があった」だけで良いのです。
PHPマニュアルを確認したうえで「こんな使い方もできそう」と考えることが大事なのです。
図書館の職員さんも全ての本の場所や状態を常時記憶しているわけではありません(中にはそういう人もいるだろうけど)たいていは管理システムがあってそれを確認しますし、「大体このコーナーのこの辺りにあったな」くらいの記憶だと思います。

私自身、PHPを実務で扱って長いですが、全部の機能を使ったこととがあるわけではないですし、一語一句間違えずにPHPマニュアルの文言を覚えているわけでもスペルを完璧に覚えているわけでもありません(IDEの補完機能に頼りきりです)

この種の回答は過去にしていますので参考にしてください。
※つまりプログラミング学習方法についての質問は過去に多く上がっているということ。多言語でもヒントは必ずあります

投稿2019/08/17 02:28

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

調べている時は、なるほどと思っていても数日後には、忘れている事が多いです。

根本的な事ですが、そもそも記憶しておく必要はありません。
学校の勉強などと違ってテストがないからです。

なので、次に必要になったときに、すぐに思い出せる工夫をしておくと良いと思います。
例えば、学習したことを Evernote や Qiita にまとめている人もいますね。

あと実力を上げるには、サンプルなどを見ずに、一からコードを書く練習をすると良いと思います。
PHP を学んでいるということなので、自分で考えた Web サービスを一から作ってみることをおすすめします。

投稿2019/08/17 01:49

nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

他の回答でだいたい答えは出てますが

別の物で同じ機能を実装しようとしたとき、コードがどのような動作をしているかは、調べながら把握はしているつもりですがすぐにこの機能が思い出せるか不安な部分もあります。

調べている時は、なるほどと思っていても数日後には、忘れている事が多いです。

これについては、言語問わず(てかプログラミングに留まらず)、インプットだけだと限界があります。

英語の勉強するのに教科書と参考書と単語帳の丸暗記だけで東大行けるような記憶力エリートの人以外は、何らかのアウトプットを繰り返さないと記憶は定着しません。

あと、実際にプログラミングをしていく上で作るプロダクトには、そもそも「答え」もありません。
なので実践あるのみじゃないでしょうか。

参考書に書いてあるような「答えが出てる」コードを何度も書くより、自分が作りたいものをまず設定して、そのために使える道具(勉強した知識)を組み合わせて試行錯誤すれば、それなりに記憶には残りますし、エラーやトラブルに悩まされて調査→解決のステップを繰り返すことで、想定外の事態への対処法や調べる技術が向上します。

投稿2019/08/17 02:19

編集2019/08/17 02:33
gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

勉強のゴールをどこに定めているのか、というところにも関わってきそうですが、

「ネットをみて調べながら掲示板が作れて、新機能が追加できている」
という時点で既に一定のPHP力を身に着けつつあると思います。

例えば、今のPHPと相性の良い技術領域にも勉強の幅を広げつつ、それを活かしたアプリケーションを作って動作を確認したり、理解を深めていくのはいい勉強なのではないかと思います。

「PHPと相性の良い技術領域」の一例を挙げるなら

  • アルゴリズムとデータ構造(プログラマをやるなら、一度は学んだほうが良いです)
  • DB設計 (これができると、ちょっとしたサーバーサイドWeb技術者です)
  • より深いPHP言語について(仕様やパフォーマンス、とか)
  • WebのFront技術(すぐ陳腐化するけど、何か一つ知っておくのは良いと思います)
  • セキュリティ周りの勉強(Web開発で必要なセキュリティ技術はなんでしょうか)
  • 通信プロトコル (TCP/IP, HTTP, HTTPS, WebSocket)
  • システム設計・ネットワーク (冗長化構成, ScaleOut/In, Cache系の種類と仕組み)

などが思いつきます。もちろん他にもあるとは思います。

たくさん挙げましたが、自分が楽しいと思えるものから手を付けていくのがコツな気がします。

投稿2019/08/17 01:55

mokemokechicken

総合スコア948

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

PHPを独学で勉強していて質を向上させたい、と。
貴殿の状況を正確に把握している訳ではありませんが…

本当に一人でやっているならば、モチベーション起因かも?
要するに「やる気」ですね。
最初は勢いがあっても、時間がたつとってパターン。

  1. 目標を立てる

ゴールが見えていると、そのためになすべきことも
意識がいきやすく、現状の把握もしやすいです。

  1. ライバルをつくる

というと大げさですが、いっしょに勉強する仲間を
つくると、(お互いに)なにかと励みになりますね。

  1. 勉強会に参加する

どちらにお住まいかは分かりませんが、首都圏あたりなら
なにがしかの勉強会やイベントなどは開催されて
いるでしょうから、参加して刺激を得るといいでしょう。

現に、こちらで質問されたのも、何某かの現状打破を
期待してのことでありましょう。
もし可能なら、他の質問に回答してみてはいかが?
そうしないにしても、回答内容を考えるだけでも
勉強になると思いますよ。

投稿2019/08/17 23:39

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/08/19 00:31

>もし可能なら、他の質問に回答してみてはいかが? そうしないにしても、回答内容を考えるだけでも 勉強になると思いますよ。 同意します。人に説明できる=自分がきちんと理解している ですから。 私も回答だけでやってきてますが、ちょっと浅かったところの理解が深められたり 他の回答が参考になったり、勉強になっています。
guest

0

個人的にはアウトプットを先にします。

今わかってることでなんとかしてみる(アウトプット)
→効率的にするにはどうすればいいか覚える(インプット)

の繰り返しです。

他の回答者さんも述べられていますが、一からサービスを作るっていうのが一番良いかもです。

投稿2019/08/17 05:53

編集2019/08/17 06:42
kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/08/17 06:23

teratailの投稿保存時のバグですね。 たぶん編集画面だともともと入れようとしていた文章残ってるはずです
kyoya0819

2019/08/17 06:42

ご指摘ありがとうございます。 おそらく消しところが残ってたのだと思います。 修正しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問