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

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

ただいまの
回答率

88.90%

PHPを独学で学ぶ方法が分からない。

受付中

回答 9

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 5,160

imac

score 13

こんにちはPHP初心者です。
PHPで色々作れる様になるために勉強中なのですが、周りに誰も教えて頂ける人がいないため、
独学で覚えなくてはなりません。

しかし、参考書を買ったり、参考になるサイトを見ても途中で意味の分からない言語が出てきて、訳が分からなります。
よく調べているととにかくコードを真似して書けと書かれていますが、言語がわからないと意味がないような気がして出来ません。
現在はドットインストールで基礎の動画を見て、意味を全部理解したところです。
htmlとcssは独学で覚えて簡易なホームページは作成できるレベルです。

それでPHPを独学でされた方に質問したいです。
皆様はどうやってPHPを学んでいかれましたか?
参考にした書籍や勉強法等教えて頂けると幸いです。
また、どんなシステムから作って行ったなどの経緯を教えて頂きたいです。

わがままなご質問で申し訳ありません。
よろしくお願い致します。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 9

+12

まずお聞きしたいのですが、あなたは

  • PHP の初心者
  • プログラミング全般の初心者

のどちらでしょう?

全くプログラミングをやったことのない人にとても良くあることなのですが、言語を覚えることはプログラミングを覚えることではありません。言語はプログラムを書き記すための道具であって、そもそもプログラムというものを理解していなければ、言語だけ覚えても何の意味もないのです。

さて、PHPの初心者であってプログラム経験があるならば、PHPの公式マニュアルを見るなり他のソースを見るなりして独習するのもいいです。独習PHPという本はよさげですね(私も読んだことはあります)。

ですがプログラミング未経験であれば、まずきちんとその基礎を整えるほうが良いと思います。
ドットインストールであれば、JavaScript 入門が一番それに向いていそうですね。変数とは何か、if文とは何か、みたいな基礎中の基礎をやってますから。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 10:32

    すいません。プログラミングの初心者です。
    JavaScript 入門がいいのですね。
    勉強になります。ありがとうございます。

    キャンセル

+4

まずは、ご自身のリソースと得たい結果を明確にされることをオススメ致します。

ここでのリソースとは、どれだけ時間が使えるのかとか、どれだけお金を使えるのかとかのことです。

得たい結果とは、いつまでに〜をリリースしていたいのような、こういう状態になっていたいという、ある時間軸上の状態です。

その上で、得たい結果に辿り着くための選択肢をご自身のリソースを踏まえながら洗い出し、プログラミングスキルの習得をされるのが良いと思います。

今は学習環境が一昔よりもだいぶ恵まれた状態になっています。

お金を払って、定期的に個人の方が、個人の方にレッスンを受けることも可能でしょうし、何も一人で亀の歩みで進んでいく必要もありません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 09:39

    ありがとうございます!

    キャンセル

+4

そもそも、なんで独学で学ぼうとしてるの?
周りに教えてくれる人がいないというのは今の現状を言ってるのであって、独学で学ばなければならない理由にはならないよね?

もちろん、プログラミングに限らず、何かを学ぶ時は一人で調べたり学んだり練習したりする必要はあるのは言うまでもないけど、全て一人でやる必要というのはないし、人生は短いから人の力を借りて早く自分の望む先へ進めた方が良い場合というのはある。

サンプルコードを写経して、とりあえず動くものが出来れば納得行くタイプもいれば、君みたいにそもそもの原理、仕組みの理解が出来ていないと写経しても学習にならないと不安を感じるタイプもいる。

特に後者のタイプの場合は立ち止まる回数が多い分、気になったことを詳しく教えてくれる人がいた方が成長が早いよ。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 19:08

    おぉ!いい回答w
    質問者の設定している目標とかわかると、もうちょっと踏み込める気がしますね。

    キャンセル

  • 2017/05/23 08:32

    会社でこういう事がしたいという希望が出るのですが、それをどうやったら
    作ればいいのかがわからず困っている所です。
    会社の利益の為に、自分で作りたいのですがなかなか思う様にいかず、
    困っている所です。

    キャンセル

  • 2017/05/23 08:47

    多分、harashow1701 さんからもっと良いアドバイスがありますが、私見を書きます。

    imac さんのやりたいことが、「会社でこういう事がしたいという希望に対して解決方法を見出したい」ということであれば、PHP を学ぶという方法論は間違っています。

    必要なのは、上流工程を学ぶことであり、「要件定義」「スケジューリング」「コスト管理」といったところを現実とすり合わせる事ができるようになるのが、会社の利益につながります。

    まぁ、どっちもやるっていうのも一つの回答ではありますが、業務でやるなら、成果が出るまで時間がかかりすぎて、手が回らなくなるんじゃないかなぁ。。。

    キャンセル

  • 2017/05/23 09:57

    いえ、今後会社のために自分が技術をつけるということです。
    何も仕事中に勉強するのではなく、プライベートで勉強して行こうと思っております。

    キャンセル

+2

「HTMLなら読めますが」程度のほぼ無の状態から独学でPHPを学んだ者です。

最初は自分で作るより、既に動いているシステムの改造から始めました。
その方が、全くの初心者が「どの行で、何をしているか」が(個人的には)分かりやすいのです。
また、「このように動かすには、まずこうして、こうすればいい」という
動くお手本が目の前にありますから、自分で作るときにも参考になるかと思います。
本の記述は時々「動かないサンプルコード」がありますので、
初心者だとそこで詰まってしまうかも知れませんが、リリースされているものでしたら動きますからね(解説はありませんが…)。

ちなみに当時はオープンソースグループウェアのLaCoodaWizを触っていましたが、今あるのかな…

関数などはちゃんと公式のPHPリファレンスを読んだ方がいいと思います。
PHPに関してはWEBだけでも十分な量の情報はあると思いますよ。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 09:41

    詳しく教えて頂いてありがとうございます!

    キャンセル

+2

コメントで「掲示板の作り方を覚え」とありますが、そもそもその覚えたであろう掲示板のプログラムの内容をひとつひとつ(1行1行)ちゃんと説明できますか?
なぜそう書いたか、なぜこの関数を使ったか、どのような想定で作ったかなどなど。
よくあるのが、参考書のコードをそのままコピーして(または少しだけ文言を変更して)動いた、というのだけで出来た気になっている状態です。

「参考になるサイトを見ても途中で意味の分からない言語が出てきて、訳が分からなります。 」とのコメントから推察するに、ほとんど説明できない状態なのではないでしょうか?
例えば英文を1単語1単語辞書を引きながら調べて文脈を理解していくように、プログラムも文法を1つ1つ調べて解いていくことで身についていきます。

僕自身文系大学出身で独学でHTML,CSSは自分が作りたいようには作れる状態ではあったものの「プログラムなんて遠い世界の話・・」という時代がありましたが、
時に心折れそうになり、何ヶ月か根気強く向き合っていくうちに、自然と読み解けるようになっていったという過去があります。

掲示板のプログラムは、PHPにおいては基礎中の基礎で参考書にも必ず出てくるものですが、
必ず出てくるということは最低限必要なことが全て詰まっていて、これが理解できればある程度のことは殆どその応用で出来るようになるということでもあります。
「画面に文字を出力する」
「ループ処理をする」
入力フォームの入力内容を「保存し」「表示し」「更新し」「削除する」

まずは1行目から1行ずつ何をしているか自分で説明できるようになってください。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 16:51

    「意味を理解」はinputです。「理解したことを説明する・思ったように表現する」がoutput
    outputが出来るようになって初めて「身につき」
    身についたことを人に教えらるようになって初めて「自分のものになる」
    自分が今どの段階なのかを見誤ると「意味がわからない」「訳がわからない」から脱出することは出来ません。
    まずはその掲示板のプログラムを全て把握し、自ら課題を与えて改修してみてはどうでしょうか。

    老婆心で、ひとついい例を提示させていただきます。

    teratailも一種の「掲示板」ですよね。
    利用していて自分が覚えた掲示板のプログラムにない機能を取り入れてみるというのも
    ひとつの勉強(input)素材としては面白いと思いますよ。

    どのような境遇の方かは存じ上げませんが、本当に覚えたいのであれば何ヶ月かかっても光が見えるまで頑張ってください。
    もちろんその中でわからないことがあれば随時質問すると良いでしょう。
    繰り返しますが「英文を1単語1単語辞書を引きながら調べて文脈を理解していく」のと同じです。
    他の方も書かれていますがそんなに身構えることはないと思いますよ。
    思ってるほど敷居が高いものではないです(極めるとかそれだけで食ってくとかなら別ですが)

    キャンセル

  • 2017/05/22 16:58

    すいません。細かく丁寧に教えて頂いてありがとうございます。
    あせらず、わからないことは分かるまで調べ、できることを少しずつ増やしながら、覚えて行きたいと
    思います。

    キャンセル

  • 2017/05/22 18:03

    極めている人や何もみなくても全部書けるといった超人になる必要なんてないですしね。

    ちょっとずつ進んでいきましょ!
    私も同じように勉強してますが、一気にぽんぽんと理解出来ることってなかなか無いです。
    諦めずにがんばっていきましょ

    キャンセル

+1

言語がわからないと意味がないような気がして出来ません。 

その時は公式マニュアルです。
PHPのことは全て書いてあります。

https://secure.php.net/manual/ja/index.php

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 10:31

    すいません。ありがとうございます。

    キャンセル

+1

htmlとcssはできるということなんですが、そちらは最初から全部意味がわかってたんでしょうか?
わけのわからなくなるのは普通のことで、わけがわかるようになるために調べるのです。
意味がわからなかったら調べるということは、どちらも変わらないわけです。
なのでそう身構えることもないと思います。

phpはとりあえずとりあえず、リファレンスを読みつつ掲示板を作りました。
その際にサンプル品などを見て、どんな効果がある関数なんだろうと調べつつやりました。
ほかの言語ですと、基礎本をずっと読んでました。
とりあえず地盤から固めることにしてます。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 10:31

    htmlとcssは先輩のやり方を一度だけ見て、あとは独学で全て学びました。
    firebugを使いながら、他のサイトはどんな作りをしているんだろうと調べながら覚えました。
    しかし、PHPはずっとつまづいてばかりです。わがままで申し訳ありません。
    しかし、このままではいけないと思い、まずは基礎を覚えるためにドットインストール様で基礎を覚え、
    よく分かるPHPの教科書を買い、掲示板の作り方を覚え、次のステップで自分で何かを作ってみようというところでつまづいています。
    ありがとうございます。
    基礎本などを読み、自分も基礎を固めようと思います。

    キャンセル

+1

2年前にプログラム超初心者の状態でプログラミング会社に入社して
今もプログラミングやっている者です。
私も初めは、ドットインストールで勉強しましたが実際は仕事で覚えた部分が大半ですね。
自分一人での勉強では成長速度も遅いと思うので、勉強会などに行ってみてはいかがでしょうか?
初心者歓迎のものたくさんあるので。。
誰かに聞きながら、教えてもらう、一緒にやるっていうのは大事かと思います。
頑張ってください♪

参考までに私がよく使っている勉強会サイトです。
https://eventdots.jp/tag/programming

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/23 13:50

    ありがとうございます

    キャンセル

+1

文系出身でゼロから勉強し転職しました。
今ではフリーランスエンジニアとして活動しています。

最初は同じような感じでわけもわかりませんでした。
ほかの方のコメント引用しますが私もあなたと同じ?ように”そもそもの原理、仕組みの理解が出来ていないと写経しても学習にならないと不安を感じるタイプ”です。

しかしプログラミングに関しては必要な知識が多すぎます。それに毎日新しい技術が出てきます。ひとつひとつ知識を増やしていってください。原理、仕組みの理解が出来ていなくてもこうすればこうなるというのを覚えおくといいです。
それを継続していくと知識の点と点が繋がって線になります。
その線はまた別の線とつながり面となり形となります。
「あっ。あの時の技術はこういうことだったんだ!」ということがたくさん出てきて楽しくなってきますよ。また、input(点)を増やしていくと繋がって気づいたらoutput(形)できるようになってました。
まぁ、まだまだ未熟ものですが。笑

いつもとは違う順序の学習法でしたが、それが私の勉強法でした。
頑張ってくださいね。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/23 13:49

    そうなんですね。ありがとうございます。
    ひとつひとつの知識を増やすことが大事なのですね。
    すごく参考になりました。

    キャンセル

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

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

関連した質問

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