質問: 初心者向けの分かりやすい説明のPHPの本でおすすめのものを教えて下さい。 **ただし、PHP公式マニュアル以外でお願いします。** (初心者には難解で不向きであると考えるため) 今回は、「PHPに精通されていない方の方が、案外初心者の目線で選ぶことができるかもしれない」という考えから、PHPとは関係ない分野も検索タグに追加させて頂きました。 ### 自己紹介と経緯 スマホアプリ、Webアプリ、を作ってみようと思い、プログラミングを始めたプログラミング初心者です。 いままでHTMLとJavaScript(+少々のCSS)を使って、遊んだりした経験があります。 (恐らく、「プログラミングってなぁに?」という初歩の初歩は卒業していると思います。) 今の当面の目標は、単語帳アプリやマインドマップアプリのような簡単なアプリを作るなかで、 コンピューターやプログラミング、開発、というものに親しんでいこうと思っています。 そのために、Web通信の知識やサーバーサイドの知識、PHP、などを勉強する必要があると思い、いまPHPの勉強をしています。 ### 勉強教材について インターネット上の点々バラバラな記事による勉強は少し効率が悪いと思い、 よくまとまった本の必要性を感じました。 0、プログラミングや開発についての基本概念、思想について初心者向けにわかりやすく解説している本。 1、PHPにまつわるWeb上の諸基本概念(cookie、session、CGIとPHPの違い、など)について初心者向けに分かりやすく解説している本。 2、コマンドや用語・概念等を素早く参考できる初心者向けリファレンス。 3、Webアプリ開発向けの実践的なサンプルスクリプトなどが豊富な初心者向けの本。大学受験でいうところの、過去問演習。 の4点セットが手元にあると心強いです。 0に関しては、初歩として、谷尻かおり氏の有名な本(タイトルは忘れた)を一部読んでみて、良いと思いました。 1に関しては、目次の内容からよさげな本一冊借りてみたのですが、説明は色々中途半端すぎて、あんまり使いづらいので止めました。現段階では1のような内容のものが重要だと思うので、これは手に入れたいです。 2に関しては、秀和システムの『PHP5リファレンス&逆引き ユーザー便利帳』というのを借りたのですが、使いにくいということはなさそうです。他に気になる評判の本として、『PHP逆引きハンドブック』というのがあります。(ただ、これは図書館に置いてなかった...) 3に関しては、まだ探せていません。 上記のような内容のものでおすすめのものがありましたら、ご回答宜しくお願いします。 ### 追記:仕様OSとversion Windows10になります
回答: > > 今回は、「PHPに精通されていない方の方が、案外初心者の目線で選ぶことができるかもしれない」という考えから、PHPとは関係ない分野も検索タグに追加させて頂きました。 > > > 他の言語をよく知っていて、PHPにはあまり精通していない方であれば言うであろう回答を書いておきます。 「初めてのプログラミング言語としてPHPを学んだことがないので、そのような場合に必要になるプログラミング初心者向けの本でお勧めのものは紹介できません。他の言語を学んでから、PHPの公式マニュアルを読んでください。私はそれで十分でした。」 以上です。 私もPHPを書けないことはないので、PHPユーザーの端くれの一人としても回答しておきます。といっても、PHP以外のことでも言えることになってしまうのですが。 ### 推薦できる本などない teratailで回答をよくしている人達のレベルであれば、多くの本を読んだことがあることでしょう。では、それらの本の中からお勧めを出さないのはなぜかというと、**あなたにもそれが合うかがわからない**からです。 ほとんどの人が「知り合いから勧められた本を読んだが、役立たずだった」とか「知り合いにある本を勧めたが、わかりにくかったと言われた」という体験をしているはずです。Amazonレビューを見ているとわかりますが、どんなに良書と言われている本でも必ず批判的なレビューがあるものです。 本には合う合わないがあります。なぜなら、各本が、対象としている人のレベル、網羅する内容、理解したときに達することが出来るレベル等が異なるからです。ある本は、人によっては難しすぎる、その人が求める内容がほとんどまたはまったくない、その人が達したいレベルまで押し上げてくれない、既に知っている事だらけで無意味だった等と言ったことが多々あると言うことです。 あなたは初歩の初歩は理解していると言っていますが、公式のPHPマニュアルは理解できないと言います。しかし、それらの表現は曖昧で、人によっては「公式のPHPマニュアルは理解できるレベル=初歩の初歩は学んでいるレベル」と考えます。結局、あなたがどのような知識を持っていて、どれくらいの事を理解をしているのかを他人が正確に把握することはできません。きっと、本を紹介しても「難しすぎてわからない」か「既に知っている」のどちらかになる可能性が高いということです。 本というのは、最終的に自分の目で判断するしかないのです。私達ができるのは「Amazonや本屋の検索端末で『PHP』と言う名前の本を検索して、自分にあいそうな本を探してみたら」と言うことぐらいしかないのです。 ### 全てを網羅する本などない あなたは「この本を読めば全て把握できる」ような本を探しているように見えます。**そのような本はこの世には存在しません。**あなたが求めていることは「小学生レベルの算数すら知らない人が大学センター試験の数学で満点を取れるようになる本」のようなものです。本来、12年間かけて学ぶようなものを一気に駆け抜けるなんてことができるはずなどありません。プログラミングも同様です。何も知らなかった人が、その本を読んだだけで、何もかもわかるような本はこの世には存在しません。 ほとんど人は、多くの本やサイトを読み、色んな所から足りない知識を補い、少しずつ進んでいきます。そこには終わりなどないのです。どんなに学んでも知らないことは出てきます。その度に、本やサイトを読んで、学んでいくしかないのです。横着できるような方法はありません。 ### 本を一回読んだ程度で理解できるほど甘い世界ではない 本を少し読んで、よくわからない所があるから、と言って読むのをやめていませんか?全く理解不可能というのであれば前提知識が足りなすぎる場合がありますが、十分な前提知識を持っていても**一回読んだぐらいで理解できるようなものではありません**。何度も読み直し、実践し、少しずつ本の内容を理解するといったことをするしかないのです。とくに何も知らない初期の頃はそういうものです。 いくつもの本やサイトのチュートリアルを繰り返し読み、実践し、それを一年ぐらい継続して、やっと「プログラミングのプぐらいまでは理解できたかな」と言えるのがこの世界です。近道など存在しないし、すぐに何もかも理解できるものでもないのです。 本を一度読めば全てを理解できるのは一部の天才だけです。そのような天才であれば、既に自分に合った方法を見つけているはずですので、そのような方にアドバイスすることは何もありません。 ### 学問に王道なし 昔の人が遺した言葉です。プログラミングの学習も一つの学問です。結局、自分に合ったものを自分で探す以外になく、それを見つけ出すだけでも、非常に時間がかかるものです。それで終わりではなくて、そう方法を実践しながら、ちょっとずつ進んでいくしかありません。**楽して何とかなるような世界ではありません。**もし、楽をしたいと考えるのであれば、別の方法でお金を稼いで、クラウドソーシングに頼んだ方が早いです。