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

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

ただいまの
回答率

87.96%

phpをマスターする期間

解決済

回答 6

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 4,918

score 100

phpを今日から独学で勉強するのですが、phpは難しいですか?
phpの文法が分かるのに何週間かかりますか?また、独学でも大丈夫ですか?
※二週間で学習することは不可能ですよね?ダメ元で質問します。
※皆さん、アドバイスありがとうございました。
皆さんが出した回答全てをベストアンサーに選びたいのですが一人しか選べないのですみません。
でも本当にありがとうございます。
今、プログラミングの一つでも分かるよう勉強しています。

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2016/08/26 10:54

    こちらの質問が他のユーザから広告だという指摘を受けました
    個人のサービスやプロダクトなどの広告を目的とした投稿は、質問ではないため禁止しています。
    投稿した意図に反し広告と受け取られている場合は、「質問を編集する」ボタンから編集を行い、質問内容と解決したいことを明確に記述しなおしてください。

回答 6

checkベストアンサー

+15

この質問に答えるには、二つことについて明確にしなければなりません。

1. あなたはプログラミングについてどれだけ知っていますか?

もし、他のプログラミング言語(LISPやC、C++、Java、Perl、Python、Ruby、Haskell、C#、Go、Scalaなど)を学んだことがあるか、また、どれだけ学んでいるかによって、PHPを新たに学んだときの習得速度はとても違います。とくに「プログラミング」そのものについての知識は重要です。

例えば、オブジェクト指向について考えましょう。PHPはオブジェクト指向を採用しています。もし、他のオブジェクト指向を採用した言語を学び、オブジェクト指向とは何かを知っているのであれば、PHPに関しては、書き方を覚えるだけで済むでしょう。しかし、オブジェクト指向を何も知らないのであれば、いくら文法を覚えても使い方がわからないので、学んだことになりません。文法を覚えることと平行して、オブジェクト指向は何か、どんなふうに使えるのか、どのように使えば良いのかを学ぶ必要があり、それだけ時間がかかります。また、既に学んでいたプログラミング言語が何かも重要です。オブジェクト指向では無いCやHaskell、Goについて深い知識を持っていたとしても、オブジェクト指向については一切役に立ちません。

ですので、他の言語を学んでいるのか、「プログラミング」そのものをどれだけ知っているのかがわからないと、PHPを学習するのにどれだけ時間がかかるのかを予想するのは難しいでしょう。

逆に、もし、全くの初心者なら、文法を覚えるのと同時に「プログラミング」そのものも学んでいく必要があります。if文の書き方を覚えても、if文とは何か、どのようなときに使えるのかを知らなければ、使えません。プログラミングはどのように構築していくのかを知らなければ、いくら文法を知っていても、1行もコーディングすることはできません。これはちょっとした短期間で覚えられるような物では無く、長く苦しい道のりです。ただ一つ言えることは、一つ覚えてしまえば、だいたい他でも応用できると言うことです。

2. 何をもって「マスターした」と言い切りますか?

まず、文法さえ覚えれば「マスターした」と思っているようですが、それは違います。数学で公理や定理だけ覚えても、それをあてはめて使えなければ計算できないのと同じです。実際のコーディングに使えるようにならなければなりません。つまり、先ほど述べた「プログラミング」そのものを覚えると言うことです。さらに「マスターした」と言い切るとなると、やりたいことがすぐさまコードで起こせるレベルぐらいでないと難しいと思います。

他にはリファレンスについてです。リファレンスの細かい動作を一つ一つを全て覚える必要はありませんが、どのようなものがあってどのような時に使えるのか、また、リファレンスはどのように調べていけば良いのかがわかってなければ、コードに生かせません。他にもphp.iniの内容とそれによってどう変わるのかや、コンパイル時のオプションによって何が影響するのかも知っておかないと(もしくしは、知る方法を知っておかないと)、「マスターした」などと言うことはできないかと思います。

さすがに、これは長い道のりです。少しレベルを落として「文法だけはマスターした」というところに限定してみましょう。

ここで問題になるのは、PHPの文法は結構複雑だと言うことです。== による緩やかな比較は見るだけでもうんざりするほど複雑なルールです。配列とリファレンスの奇妙な動作はその動作を理解するだけでも各文法(とくにリファレンスについて)の厳密な動作を把握する必要があります。加えて、PHPのオブジェクト指向にはclassだけでなくinterfaceとtraitについても知っておく必要があるでしょう。他にも、名前空間やuseによるインポートなどたくさんの機能があります。

これら全てを覚えるとなると結構な時間がかかるかと思います。ましてや、文法だけでは無く、そこらから実際に使えるようになるために「プログラミング」そのものを知っておこうとすると、参照とは何か、オブジェクト指向とは何か、名前空間とはいかなるものなのかを学ばないといけないでしょう。

「マスターしたい」などと言ったら、どれだけかかるかは想像できません。


さて、上を見るとなんかPHPって大変・・・と思ったかも知れませんが、そういうことではありません。PHPの全部を知らなくてもPHPでプログラミングはできます。簡単な物であれば、PHPの文法の1割も使いません。オブジェクト指向なんて無くてもそこそこの物が作れますし、名前空間なんてライブラリや大きいプログラムで無いと使いません。初めは気にせず、どんどん進んで下さい。知らないことに出会ったら調べるぐらいで良いと思います。ただ、途中である程度できたのに満足して、学ぶことをやめないでください。そこはまだほんの入り口にしか過ぎません。

1年ぐらいたって、PHPとは何か、プログラミングと何かをなんとなく掴めると思います。5〜6年もすれば、自分の限界を知り、その遥か長い道の先が見えてくるでしょう。後は、10〜20年ぐらい学び続ければ、マスターしたと言っても良いぐらいになると思います。

ある程度の差異がありますが、他のプログラミング言語でもだいたい同じ事です。ただ、残念ながら、私はプログラミング初心者にPHPを勧めたことは一度も無いとだけ言っておきましょう。PHPは「プログラミング」そのものを学ぶには、少々(かなり?)やりにくいと思っているだけなのですが。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/06/15 21:54

    実はapiの書き方が知りたいんです。
    そのためにphpを勉強しようと思いました。
    でも、話を聞く限り、独学では無理ですよね?

    キャンセル

  • 2016/06/15 23:06

    何に対するどのようなAPIなのかわからないため、PHPを勉強することでどうなるかどうかはなんとも言えません。しかし、どんなものであれ「独学では無理」というのはありません。第一、最先端の技術については、教えてくれる人なんてほとんどいないので常に独学です。

    独学が大変なのは、学校や職場とかでの「させられる勉強」ではなく、自分で「する勉強」ということです。精神論ではないですが、やる気と根性がなければ、非常に困難です。やる気と根性さえあればなんとかできます。

    あとは、どこからどうやって勉強したら良いかわからないと言うのもありますが、ネットである程度調べられますし、それでもわからなければteratailで聞いたってかまいません。ただ、自ら考えて努力して行こうって気合いが無いと、やはり独学自体が難しいかと思います。

    キャンセル

  • 2016/06/15 23:12

    ご回答ありがとうございます。
    ご指摘の通りです。頑張ってみます。

    キャンセル

+5

PHPはプログラム言語の中では比較的簡単な方だと思います。

2週間の中でどれだけの時間をPHPの勉強に充てられるかにもよると思いますが、基本的な部分を覚えるだけなら2週間あれば充分ではないでしょうか。
(ちゃんとしたサイトを作れるようになるまで、とかならもっと時間がかかりますが・・・。)

まずは入門書を買って読んでみることをオススメします。
オンラインで勉強するならドットインストールというサイトが良いと思いますよ。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/06/15 21:11 編集

    やっぱり質問したいのですが
    プログラムの基本を学ぶには何を勉強すればいいでしょうか?
    短期間で勉強するのは無理な話ですよね?

    キャンセル

  • 2016/06/15 21:37

    どんな言語でも良いので、まずは簡単なものを作ってみてください。
    そこから少しずつ変更を加えるなり、拡張していくのが1番早く覚えられると思います。

    PHPでブログシステムなどどうでしょう?
    とにかく自分で何かを作るところからスタートしないとプログラムは身につかないかと。

    どのくらいの期間で基礎が身につくかは、本人の記憶力や数学的思考力にもよると思いますが、ちゃんとしたサイトを作るのなら短期間では無理ですね。
    外注で発注した方がよほど早くて確実です。

    ちなみに食べログみたいなサイトを1人で作りたいのであれば、

    Linux, Apache(またはnginx), PHP, MySQL, Javascript, jQuery, HTML, CSS, memcache(またはredis), Photoshop, Illustrator

    くらいの知識があればそれっぽいものなら作れるとは思います。

    キャンセル

  • 2016/06/15 21:50

    ご回答ありがとうございます。
    助かりました。頑張ってみます。

    キャンセル

+2

引用テキストphpを今日から独学で勉強するのですが、phpは難しいですか? 

PHPは簡単な言語とよく言われます。型の定義をPHPが勝手にしてくれるとかの言語的な性質もそうですが、使用者が多いので情報を集めやすいという点でも、初心者に優しい言語です。

phpの文法が分かるのに何週間かかりますか?
※二週間で学習することは不可能ですよね?ダメ元で質問します。

文法で2週間は妥当な期間かなと思います。ダラダラやってそんなもんです。

また、独学でも大丈夫ですか? 

独学でいいです。むしろ、独学がプログラミングを覚える基本です。調べるというスキルがプログラミングにおいて最重要のスキルなんじゃないかと思います。

勉強法ですが、phpの文法は入門書を買って読むのが良いと思います。体系的に覚えられるので。ただし、PHPはバージョンが変わると仕様もちょっとずつ変わっているので(※他の言語でも同じ問題はあります)、本に書かれたPHPのバージョンで環境を作る方がいいです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/06/15 21:26

    ご回答ありがとうございます。
    参考書、amazonで探します。
    apiの件、apiはやっぱり難しいですか?短期間で勉強することは夢の話ですよね?

    キャンセル

  • 2016/06/15 21:43 編集

    apiに関してなにか急いでいるようですが、もし短時間で何かを作らないといけないのなら、誰かにお金を払って依頼するべきです。勉強は時間と気力というコストを払うことが必要なので、決して安い買い物ではないです。もし、その時間というコストが高いからどうにかして下げたいというのなら、お金などの別のもので代用するのは別段恥ずかしいことではないです。
    どんな人も企業もその時点でできないことは誰かに依頼しています。
    これはプログラミングというより世の中の仕組みです。

    キャンセル

  • 2016/06/15 21:53

    ご回答ありがとうございます。
    apiを勉強したいのですが何を勉強すればいいですか?

    キャンセル

0

基本的な部分の学習に関しては既に回答がありますので、

APIを作りたいのかそれとも既存のAPIを使って何かをしたいのか
結局のところ、何を作りたいのか?
によって大きく変わるので(プログラム言語は何かを実現するためのツールでしかないです)、
具体的にやりたいことを出来るだけ詳細に書くとよりいい回答が得られるかと思いますよ。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/06/16 15:01

    ご回答ありがとうございます。
    もう一つ質問があります。
    apiについて詳しく書いてあるおすすめに書籍がありましたら教えてください。

    キャンセル

  • 2016/06/16 15:10

    googleやfacebook,twitterくらいメジャーなAPIならAmazonで検索すれば出てくると思いますので、使いたいAPI名で検索してみてください。最新のバージョンに対応した書籍があればラッキーです。

    ただ、書籍だとAPIのバージョンアップや仕様変更に追随できないので、
    よほど需要があるAPI以外は書籍にはなっていないと思った方がいいです。

    APIは提供元のドキュメントとサンプルが最新の情報になるので、
    そのドキュメント及びサンプルを読んでみて(検索すれば公式以外のサンプルも見つかるでしょう)、
    使われている関数やクラスについて調べるという流れで学習を進めるというのが最も早くて確実です。

    キャンセル

  • 2016/06/16 16:09

    ご回答ありがとうございます。
    やっぱり独学ですね・・・
    でも、僕は頑張ります。

    キャンセル

0

独学で勉強…ただ片っ端から聞いてコピペするのは独学ではないですよ?

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

-3

https://www.isoroot.jp/commu/yokohama/shindan_m6/?gclid=CPK3ofDzzM4CFRIAvAodhFcHyw

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2016/08/23 10:54

    質問に関係のない回答

    キャンセル

  • 2016/08/24 11:42

    適切な質問、質問に対しての理解力は必要な事だと思うので関係はあるかと

    キャンセル

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

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

関連した質問

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