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

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

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

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

Q&A

解決済

9回答

2464閲覧

初心者向けの分かりやすい説明のPHPの本でおすすめのものを教えて下さい。

WeilSpinor

総合スコア170

PHP

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

0グッド

1クリップ

投稿2019/03/21 12:15

編集2019/03/21 14:31

初心者向けの分かりやすい説明の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になります

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

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

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

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

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

m.ts10806

2019/03/21 12:22

言っちゃなんですがそこでPHPマニュアルを除外してしまう辺り、本当にPHPやる気はないと捉えられても仕方ないですよ。 書籍はすぐに古くなるし内容が正しいことを確認する術はPHPマニュアル以外はないです。 書籍鵜呑みにして推奨されない書き方をして結局ネットからコピペした挙げ句自分の手に追えないコード書いて全てやり直さなきゃいけないレベルの人を何人もteratailで見てきました。そうなりたいですか? プログラミングは書いて失敗してマニュアルを確認して調整してなんぼです。 こんな質問立ててる暇があったら一行でもコード書いたほうが何倍も理解は進みますよ。
fiveHundred

2019/03/21 12:29

類似の質問はしないでください。 > 今回は、「PHPに精通されていない方の方が、案外初心者の目線で選ぶことができるかもしれない」という考えから、PHPとは関係ない分野も検索タグに追加させて頂きました。 人によっては迷惑行為だと思われるので、これもやめてください。 それに、関係ないと分かった時点でスルーするのがオチでしょう。
WeilSpinor

2019/03/21 12:54 編集

ご回答ありがとうございます。 確かにマニュアルは間違いは書いていませんし、情報が新しいというのはありますが、 株の知識や経済のまわり方を全然知らない小学生1年生が、ある日突然日経平均株価の変化を見てもそこから何も読み取ることができないのと同じように、算数の掛け算九九もままならない小学生に突然集合論と数学的帰納法による自然数の定義を教えてもわからないのと同じように、 プログラミング全体の知識が未熟で、思想や思考スキームが出来上がっていない未熟な初心者にとってはいささか利用が困難である、という面は否めないと思います。 これは、この質問(https://teratail.com/questions/75961 )の回答者の方も仰っています。 その点、書籍というものは、まとまりがあって説明の仕方がとても配慮しており、初めてのことを一から体系的に学ぼうとするとき、とても使いやすいと思われます。「気持ち」の部分も書かれており、そういった思想的な面に触れるのは物事を学ぶ上でとても重要なステップだと思うのです。(当然、実践練習ありきの書籍勉強ですが…) 情報が古くなる、という懸念もありますが、配列操作やファイル操作といった基礎的な内容に関しましては、そう簡単に変化してしまうことはないと思いますし、良いのではないか、と思います。 もちろんmts10806様の強調されるように、PHPマニュアルを読めるようになることの重要性は承知しております。ですが、今の私に必要なのは、標準的なステップアップ式の入門本や初中級者向けリファレンス、Webアプリのサンプルスクリプトを横に置きながら、実践演習を重ねること、ではないか…とおもいました。 ですので、もう少しプログラミングに成熟して上級者になったら、是非手を出してみようと思います。
WeilSpinor

2019/03/21 12:49

>類似の質問はしないでください。 前回の質問があまり回答が得られないうちにタイムラインから埋もれてしまったようなので、再登校させて頂きました。 前の質問の方を消した方がいいでしょうか?
sakura_hana

2019/03/21 12:54

Unityはサーバーサイド言語ですらない(一応ネトゲ用にサーバーでも動くけど)のでタグとしては不適切ですね。(UnityからPHPに接続したい的な質問だと思って見に来た人) とりあえず参考になるであろういつものページ置いておきますね!→ https://teratail.com/help/question-tips
m.ts10806

2019/03/21 12:54

で、あなたはその書籍が本当に問題ないと判断できるほどの経験と知識と技術をお持ちなんですか? 勧められる本が間違いないと判断できるんですか?「回答者になるほどの人が言うのだから間違いない」と安易に判断して大丈夫ですか? 「自分がわかりやすければそれが正解」と言い切れるほどの経験と知識と技術をお持ちなんですか? PHPマニュアルを避ければ避けるほど初心者からの脱却は難しくなります。 あなたより多少はPHPに詳しくて業務でも扱っている者としてのアドバイスです。聞けないなら「一生初心者やっててください」としか言えなくなります。 >配列操作やファイル操作といった基礎的な内容に関しましては、そう簡単に変化してしまうことはないと思いますし 根拠がないですよね。それが「変化してしまうことはない」と言い切れる自信はどこから来るんでしょうか。言語仕様は利便性やその時の有用性、効率、セキュリティの観点などから容赦なく変更・廃止されます。 最新はPHP7.3ですが、2015/12リリースのPHP7.0は既にサポートが終了しています。つまりそれ以前のバージョン前提で書かれた書籍は動かなくても文句は言えません。7.3ですら2021/12にはサポート終了予定です。 ロジックは考え方なので変わらなくても言語仕様は変わります。新しい意味が追加されたり、廃止されたり常に見直されて進化をしていっているわけです。 「変化しない」のは「安定した」のではなく「廃れた」と言っても過言ではないです。
fiveHundred

2019/03/21 12:55

この質問を削除してもらってください。 回答がされている質問は、基本的に削除は行われません。 それに、「目立たせるためにスレを上げる行為をする人は空気を読めていない人だ」と教わってきたので、そんな理由で(しかも不適切なタグを追加して)新たに質問する行為自体、私には理解できません。
m.ts10806

2019/03/21 12:58

>プログラミング全体の知識が未熟で、思想や思考スキームが出来上がっていない未熟な初心者にとってはいささか利用が困難である ええ、そうです。どこかで何度かコメントしたことがありますが、システムの本質は問題解決です。難しくて当然です。だからPHPマニュアルのようなきちんとしたものがあって、使い方を覚える必要があるわけです。難しいからこそ問題解決が可能となるわけです。敬遠すればするほどあなたの成長はなくなります。
sakura_hana

2019/03/21 12:58

こちらも必要でしたね。→ https://teratail.com/help/avoid-asking > 推奨されていない質問:過去に投稿した質問と同じ内容の質問 > 閲覧数を増やす目的などにより、過去に投稿した質問と同じ内容の質問を新たに投稿することは推奨していません。 > 他に同じ問題を抱える人のヒントとなる情報が分散してしまうためです。 > 質問について新たにわかったことや試したことがあれば、すでにある質問を編集してください。
WeilSpinor

2019/03/21 13:19 編集

mts様 確かに、物事絶対の正解はありませんから、たとえ出版されている本であっても、ある本に書いてある内容がもしかしたら少しいい加減だったり誤解を招くようなものである可能性がないとは言い切れません。 だからこそ、ここで質問しているのです。 学習、教育、子育て…元来、すべて洗脳です。 でも、これは、ものを考える基礎を学ぶ上では仕方のないことなのではないでしょうか? 大切なのは、自分が持っている知識や常識を絶対不変のものである、と思わず、 常に進化を重ねていこうとする、その心構えだと思います。 つまり、脱皮を繰り返す、自分で自分を何度も脱洗脳させること。 今回読む本が私が読む最期のPHPの本ということにはならないですし、 これからもいろんな人が書いているプログラミングの本や、あるいは公式マニュアルなども見て勉強していくと思います。その中で自分の考えが修正を繰り返して、洗練され、そうやって、確実な知識と能力、哲学が築かれていくのではないか、と思っています。
m.ts10806

2019/03/21 13:09

ええ、だから、こんな””下らない質問””をしている暇があれば1行でも2行でもコード書いてください。時間の無駄です。 こんな不適切なタグをいっぱいつけて多くの他人の時間まで奪って得られるものは何もないです。 本を読んでもコードは実行されません。こんな質問してもあなたが作りたいというアプリのなんの足しにもなりません。洗脳でもなんでもなく事実です。一生初心者やっててください。
WeilSpinor

2019/03/21 13:13

mts様 ロジックは変わらないので書籍でも勉強できます。 しかし、言語仕様という観点なら、そのとおりで、マニュアルや最新リファレンスは重要かと思います。 科学技術の発展に合わせて、高度な関数が追加されたり消えたり、使い方が変わったり、ありそうです。
fiveHundred

2019/03/21 13:14

PHPはほぼ素人なのでよく分かりませんが、おすすめされている内容なのですから、変なこと言っていないで、さっさと読めばいいんじゃないでしょうか? おすすめされていても、それを読まないのであれば、仮にそれが書籍でも同じことです。
WeilSpinor

2019/03/21 13:17 編集

>こんな””下らない質問””をしている暇があれば1行でも2行でもコード書いてください。時間の無駄です。 プログラミングの世界で迷わないための羅針盤をそろえるという重要な作業です。 確かに、設計とかコーディングの時間は惜しいですが、多少時間と手間をかけてでも必要なものなんじゃないかとおもっています。
m.ts10806

2019/03/21 13:26 編集

引き出しがないとロジックは死にますよ。結局PHPマニュアルを使えないとロジックもままなりません。 ちなみに、書籍読んだからロジックが身につくなんて聞いたことも見たこともないです。 ロジックのロの字もまだの人が「書籍でも勉強できます」って言い切らないでください。 ロジックは言わば実現までのプロセス、道筋を立てること。 「どうやったらできるか」 引き出しなしに道筋は立てられません。 完全な引き出しはなかったとしても「こういう機能はあるだろうか」「こういう機能があればここの道はつながる」頼るのは結局辞書です。 PHPではそれがPHPマニュアル それだけの話です。 コードは机上では組めませんし動きません。 書籍を開いて目次や索引を探してページを開いて・・・よりも 「PHP {機能名や機能の仕事内容}」で検索してPHPマニュアル探し出すのほうが圧倒的に早く確実、明快である。それだけの話です。
退会済みユーザー

退会済みユーザー

2019/03/21 13:29

参考書を自分で選ぶことができない人はマスターできないよ
WeilSpinor

2019/03/21 13:29

fiveHundred様 プログラム言語のマニュアルって、原子レベルに分解した形で書かれているみたいで、読んでもさっぱりでした。例えば何か一つわからない単語fpassthru()を調べると、その高度な専門用語的説明に出てきたわからない単語を又調べて、、、を繰り返して一番下までやってきても結局よくわからない。その数がネズミ算式に増えてきます。結局処理しきれず、普通のサイトや本の説明をみたら、「なんだ、そんなことか、と…」。相当プログラミングの知識を知っていて、界隈の文脈に精通している人でないとわからないように思います。 でも、その存在が重要なのはわかるので、しばらくおいといて、知識が十分たまってきたら、少しずつ読んでいきたいとおもいます。
m.ts10806

2019/03/21 13:32

>プログラミングの世界で迷わないための羅針盤をそろえるという重要な作業 いきなり間違った方向に行こうとしているからこれだけの時間と文量をかけて伝えようとしているのですが伝わらなくて非常に残念です。 プログラミングはトライ&エラーが基本。いきなり安全牌打つことだけ考えていても何も始まりません。 うだうだ言ってないで始めてください。 何度も書いてますが、プログラミングは難しいもの。難しいものだから失敗してつまずいて当然です。 私も業務で使って長いですが、そんな今ですら失敗してつまずいてを繰り返しています。だからこそきちんと身について成長できている(あと一応、回答者として一定の評価は得られている)わけです。 トライとエラー まだほとんどしてない状態で屁理屈こねるのは早計にも程があります。
退会済みユーザー

退会済みユーザー

2019/03/21 13:34

なんというか、PHP以前の問題である知識を、PHPのわかりやすい入門書で補えるとかんがえていやしませんかね?
WeilSpinor

2019/03/21 13:37 編集

たしかに、自分に合う参考書は人それぞれであって、自分で探しだすべきですが、 今は世の中には本がたくさんあって、 これ借りてきたけどだめだった、次これ借りてきたけどまたダメだった… となるのも面倒ですし、作業が滞るので、 世間的な『良書』・『悪書』という判断基準があるので、(しかも、それが案外共感できることが多い) それを使って選択肢を『良書』に絞って、そこから決める。 こういうやり方が良いと思っています。 (立ち読みでは判断がなかなか難しいです。アマゾンのレビューとか、技術者のブログとかを参照にしますが、今回はこれといった決め手がなかったので、質問させていただきました。)
退会済みユーザー

退会済みユーザー

2019/03/21 13:40 編集

だからみんな「最短」の方法教えてくれているじゃないか。 こんな質問繰り返すより、コード書けよって話だよ。 それに、ここのサイトにはあなたと同じような人がこれまで何人もいました。 ものになった人は皆無です。 みんなマニュアルを読まない連中です。
m.ts10806

2019/03/21 13:45

学校の勉強とか受験とは違うんで。あれば自分のためのインプットだけ。 プログラミングの本質は問題解決。インプットよりもアウトプットのほうが圧倒的に多い。 インプットしか考えてない状態じゃ何もできるようにならないということで「コード1行でも2行でも書いて」と言ってるんですけどね。。。 たぶんあなたと同時期に始めた人はあなたがこうやってうだうだ言ってる間にどんどんコード書いて失敗してどんどん理解を深めて成長してますよ。 「俺は時間がかかるから」と言い訳するかもしれませんが、やり方間違ってちゃ時間がかかるのは当然で時間がかかるばっかりで成長しない自分に呆然とするだけです。 そういった意味では学校の勉強よりスポーツに近いですね。本読んでるだけでうまくなれますか? 本読んでる間に素振りの1回でもキャッチボールの1回でもやったほうがいいのは明確ですよね。
alg

2019/03/21 13:45

議論の前に、質問内容に無関係なタグは外していただけませんか? > 今回は、「PHPに精通されていない方の方が、案外初心者の目線で選ぶことができるかもしれない」という考えから、PHPとは関係ない分野も検索タグに追加させて頂きました。 これは、タグの使い方として不適切です。手段を選ばずにたくさんの回答を得ようとしている、そんな身勝手さすら感じます。
WeilSpinor

2019/03/21 13:47

>書籍読んだからロジックが身につくなんて聞いたことも見たこともないです。 そんなことは言っていません。ロジックは、プログラミング、日常生活、趣味の活動問わず、普段からの思考習慣、訓練のたまものです。 >ロジックのロの字もまだの人が「書籍でも勉強できます」って言い切らないでください。 プログラミングはまだ初心者ですが、ロジックには自信があります。 ただ、プログラミングの実装レベルのロジックは未熟だろうし、知識や技術はまだないので、だからプログラミングを勉強します。 mts様の仰る「書籍」がどういったものを指しているのかわかりかねますが、 書籍で勉強する、というのはそんなにおかしなことでしょうか? 私の言う書籍には、上の0,1,2,3で上げているように、ちゃんとリファレンスも含まれます。
hayataka2049

2019/03/21 13:53

タグと重複質問の件で-1。 >プログラミングの世界で迷わないための羅針盤をそろえるという重要な作業です。 >確かに、設計とかコーディングの時間は惜しいですが、多少時間と手間をかけてでも必要なものなんじゃないかとおもっています。 という主張なら、自分に合う本くらいteratailで聞くんじゃなくて自分で探しましょう? このご時世インターネットのレビューとかはある訳で、時間と手間をかければ人に聞かなくても自分で探せませんか。
m.ts10806

2019/03/21 13:54

2019/03/21 22:47 のあなたのコメントのおかしい点に自身で気づくまであなたにはPHPどころかプログラミング自体無理だと思います。 そこまでロジックに自信がおありでしたら、PHPマニュアルからロジック実現に必要な機能を引けばいいだけですね。ほらPHPマニュアルだけで良くなった。書籍なんて不要。良かったじゃないですか。書籍が要らないってわかっただけで。よかったよかった。 PHPマニュアルは書籍じゃないですからね。質問の冒頭で除外しておいて勝手に含まないでください。
退会済みユーザー

退会済みユーザー

2019/03/21 14:03 編集

ロジックに自信があるッつーことはもしや、「まずタグの付け方が不適切だから修正してくれ」と押し寄せた、全く関係の無いタグの皆さまを納得させ、「なら仕方が無い」と思わせるようなロジックがあるんか?
WeilSpinor

2019/03/21 14:04

mts様 いくつか誤解を解きたいですが、 ・まず、私が道具をそろえようとしているのはトライアンドエラーを恐れているからではなく、無意味なトライアンドエラーを避けることと、明らかにバカな時間をかけないことです。(この議論をバカな時間の過ごし方と言われたら) そのためには、著者によって推敲された文章によるまとまった情報が手元にあることは、重要です。ささやかな環境整備という感じです。 ・数学は受験だけではありません。立派な学問分野であり、みんな毎日問題解決に向かって奮闘しています。(本当は受験だって一種の問題解決だと思っていますが) ・他人の学習スピードになど興味はありません。何度も何度も演習を重ねることをさぼりたい言い訳をしているわけでも全くありません。mst様のおっしゃるやり方には大賛成で(というか当たり前の方法)で、それでガリガリやっていくつもりです。ただ、マニュアルは、今の自分の成長に適したアイテムではないので、ちょっとお預け…代わりにリファレンスを使う…そんな感じで考えている、というだけです。
退会済みユーザー

退会済みユーザー

2019/03/21 14:05

ロジックに自信があるッつーことはもしや、「まずタグの付け方が不適切だから修正してくれ」と押し寄せた、全く関係の無いタグの皆さまを納得させ、「なら仕方が無い」と思わせるようなロジックがあるんか?
m.ts10806

2019/03/21 14:06

リファレンス=PHPマニュアル はい解決ですね。
退会済みユーザー

退会済みユーザー

2019/03/21 14:14

オイオイ、まさか「都合の悪いコメントは無視する」というロジックか?
WeilSpinor

2019/03/21 14:34 編集

さっき読んでみたら、全く読めないわけではないので、読めるところだけは時々眺めてみたいと思いました。 でも、やはり「出力バッファ」とか「ストリーム」「スレッド」とか、体系的な理解にはやはり、情報系の知識や計算機科学、論理回路などを体系的に理解できていないと駄目だそうです。ですから、部分的には読めても限界がありそうなので、使うにしても少し付き合い方を考えながら使っていこうと思います。
退会済みユーザー

退会済みユーザー

2019/03/21 14:37

ようやくタグ外すのか。面の皮が厚いロジックだな。
m.ts10806

2019/03/21 14:42

私、文系大学出身でプログラミングの経験ほぼないままこの世界に入りましたし、業務でやっていけている以上、関係ないですね。思い込みがひどすぎてどんどんおかしい方向に行ってる。どのアドバイスもまっとうに受け取れてない。曲がって解釈している。そろそろ原点に立ち返っては。 私だって「出力バッファ」「ストリーム」「スレッド」とかパソコンわからない人に説明しろって言われてもできませんよ。プログラミングをやっていく上では「なんとなくこんなことができる」が分かっていれば問題がないということです。 「「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典」というサイトがありますが、そこに載ってるような程度の知識で十分です。(むしろ都度調べてそのとき納得するので構わないくらい) それよりもコード書くことのほうが大事。何百倍も。 それにそもそも基礎ができてない人がロジックができるはずがないし、あのボリュームのマニュアルをたった数日で読みこなせると思えませんがね。 私ですら毎日実務のためにお世話になっているというのに。 基本を学ぶなら下記から。 http://php.net/manual/ja/langref.php 1個ずつ動かしながらやればPHPについてはある程度どんなものか何ができるかわかるようにはなるでしょう。
WeilSpinor

2019/03/21 14:53

>私だって「出力バッファ」「ストリーム」「スレッド」とかパソコンわからない人に説明しろって言われてもできませんよ。プログラミングをやっていく上では「なんとなくこんなことができる」が分かっていれば問題がないということです。 え、そういう意味で仰ってたんですか…? >それよりもコード書くことのほうが大事。何百倍も。 それは重々過ぎるほど承知しています。 あまりきちんと勉強せずに独りよがりに考えて設計したりコード書いてばかりいたら、 「知識が足りなすぎる。まずは本で、基礎的ないろんなことを体系的に勉強しなさい」というお叱りを数人から頂いたので、 「なら、codeprepか本で勉強するか…」と思った次第です。 まぁ、気分的には 実践演習~マニュアルと種々のサンプルコードを添えて~ でいければいいんですけどね…。
m.ts10806

2019/03/21 15:13

>え、そういう意味で仰ってたんですか…? あなたは漢字やひらがな、カタカナなど、の成り立ちまですべて理解して言葉をしゃべってますか?煽ってるわけではないです。知らないと話せませんか? PCでteratailにアクセスして利用してますよね。PCがどのように作られたか、ブラウザがどうやってできているか知らないと使えませんか? teratailがどのように作られたか知らないと使えませんか? 「取扱説明書があれば適切に使える」ですよね。 説明書には「teratailはどのような言語、フレームワーク、サーバーでできていて・・・」なんてどこにも書いてありませんよね。「ヘルプ」熟読してみてください。どこにもありません(詳細載せてしまうとセキュリティリスクに晒されることは何となくわかりますよね) それと同じです。「使い方がわかれば使える」=「ロジックにも反映できる」 関数の説明があっても結局「どういう名前の関数で何を渡したら何が返ってくる」かがわかれば十二分に実用に足ります。(中身知りたければCのコードを読めって言われたことないですか?) >「知識が足りなすぎる。まずは本で、基礎的ないろんなことを体系的に勉強しなさい」というお叱りを数人から頂いたので、 https://teratail.com/questions/180254#reply-268315 とかほかの回答のコメント(実現するには、基本をマスターしてから)とかですかね。 それって「PHPとは何か(どうやって実行されるか)学べ」ってことなので、結局PHPマニュアルに戻ってくるんですよね。 サンプルコードも例示されていてNoteで意見も交わされている。そりゃNoteは原本英語版そのままなので英語ですがコードはコメント関係なくPHP実行環境があれば実行可能ですよね。 機能の説明もサンプルコードもあるのにどこが不満でしょうか。 いっそのこと「俺が考えた最強の初心者向けマニュアル・サンプルコードリファレンス」を自分で作れば良いのでは? あなたの語り口を見ていたらそれ以外の解決策はないと思います。 もちろんあなたのこれまでの感じから誰のためにもならないリファレンスが出来上がりそうな気がしてならないですけど。
KojiDoi

2019/03/21 15:33

オススメって言っても、ここを読んでいる人は貴方がどんな人が知りません。何が得意で何が苦手で何が好きで何が嫌いで学校では何を専攻していてというのを何一つ知らないわけです。自己紹介に書いてある程度の背景やロジックが得意とかの自己申告はほぼ何の参考にもなりません。結局のところ強いて挙げるなら公式マニュアルぐらいしかないわけです。 世の中に万人の全ての状況に答えてくれる万能の良書なんてありはしません。面倒でもとっかえひっかえその場でいろんな資料を探すしか無いのです。
WeilSpinor

2019/03/21 15:42

それは分かります。 ただ、「マニュアルをじっくり読み込んで厳密に理解する事」と再三おっしゃっていたので、『出力バッファに書き出す』の意味も結構ちゃんと説明できないといけないのかと…。 この間の「ファイルの中身をすべて出力する」fpassthru関数の件で、バッファの意味を調べましたが、 「高速のメモリと低速のメモリが連携するときにメモリの処理が低速側に引っ張られにないための緩衝材的なもの」とあったのですが、全然意味がわかりませんし、「出力バッファに書き込む」を実行した結果、「ファイルの中身全てを出力」することにどうつながるのか、果たしてよくわかりませんでした。(当時は、phpにおいて出力が起こった結果、それが自動的にブラウザにhtmlとして出力されるというのが分からなかったので、更に謎でした) もちろん説明書により使い方がわかればいいのですが、はじめて調べたfpassthruに関して、出力バッファのせいで使い方が分からなくて、 一方教科書では「サンプルの~行目に書かれたfpassthruという関数を使うと、ファイル内のテキストがブラウザに表示されます。ほらね?」と、分かりやすく十二分に実用に足る解説があるので、 「やはり教科書かな~?」となるわけです…。 私は、何も意見するつもりはありません。
m.ts10806

2019/03/21 15:45

意見しかないですよ。 教科書=PHPマニュアル はい、解決。
WeilSpinor

2019/03/21 16:08

はい、参考にさせて頂きます。
m.ts10806

2019/03/21 20:49 編集

?なんで解決になってないんですか??? 「PHPマニュアルを主軸に進めます」 「無駄口叩かずコードを書きます」 で解決 というのを理解した訳じゃないんですか? まだ屁理屈こねますか? Kosuke_Shibuyaさん等々のコメント見られてませんかね。
退会済みユーザー

退会済みユーザー

2019/03/22 02:10

いっそ、熟練SEを家庭教師的に雇えばいいよ。それと同等なことをteratail上に求めているってことに気づいていないのかな?
guest

回答9

0

今回は、「PHPに精通されていない方の方が、案外初心者の目線で選ぶことができるかもしれない」という考えから、PHPとは関係ない分野も検索タグに追加させて頂きました。

他の言語をよく知っていて、PHPにはあまり精通していない方であれば言うであろう回答を書いておきます。

「初めてのプログラミング言語としてPHPを学んだことがないので、そのような場合に必要になるプログラミング初心者向けの本でお勧めのものは紹介できません。他の言語を学んでから、PHPの公式マニュアルを読んでください。私はそれで十分でした。」

以上です。


私もPHPを書けないことはないので、PHPユーザーの端くれの一人としても回答しておきます。といっても、PHP以外のことでも言えることになってしまうのですが。

推薦できる本などない

teratailで回答をよくしている人達のレベルであれば、多くの本を読んだことがあることでしょう。では、それらの本の中からお勧めを出さないのはなぜかというと、あなたにもそれが合うかがわからないからです。

ほとんどの人が「知り合いから勧められた本を読んだが、役立たずだった」とか「知り合いにある本を勧めたが、わかりにくかったと言われた」という体験をしているはずです。Amazonレビューを見ているとわかりますが、どんなに良書と言われている本でも必ず批判的なレビューがあるものです。

本には合う合わないがあります。なぜなら、各本が、対象としている人のレベル、網羅する内容、理解したときに達することが出来るレベル等が異なるからです。ある本は、人によっては難しすぎる、その人が求める内容がほとんどまたはまったくない、その人が達したいレベルまで押し上げてくれない、既に知っている事だらけで無意味だった等と言ったことが多々あると言うことです。

あなたは初歩の初歩は理解していると言っていますが、公式のPHPマニュアルは理解できないと言います。しかし、それらの表現は曖昧で、人によっては「公式のPHPマニュアルは理解できるレベル=初歩の初歩は学んでいるレベル」と考えます。結局、あなたがどのような知識を持っていて、どれくらいの事を理解をしているのかを他人が正確に把握することはできません。きっと、本を紹介しても「難しすぎてわからない」か「既に知っている」のどちらかになる可能性が高いということです。

本というのは、最終的に自分の目で判断するしかないのです。私達ができるのは「Amazonや本屋の検索端末で『PHP』と言う名前の本を検索して、自分にあいそうな本を探してみたら」と言うことぐらいしかないのです。

全てを網羅する本などない

あなたは「この本を読めば全て把握できる」ような本を探しているように見えます。**そのような本はこの世には存在しません。**あなたが求めていることは「小学生レベルの算数すら知らない人が大学センター試験の数学で満点を取れるようになる本」のようなものです。本来、12年間かけて学ぶようなものを一気に駆け抜けるなんてことができるはずなどありません。プログラミングも同様です。何も知らなかった人が、その本を読んだだけで、何もかもわかるような本はこの世には存在しません。

ほとんど人は、多くの本やサイトを読み、色んな所から足りない知識を補い、少しずつ進んでいきます。そこには終わりなどないのです。どんなに学んでも知らないことは出てきます。その度に、本やサイトを読んで、学んでいくしかないのです。横着できるような方法はありません。

本を一回読んだ程度で理解できるほど甘い世界ではない

本を少し読んで、よくわからない所があるから、と言って読むのをやめていませんか?全く理解不可能というのであれば前提知識が足りなすぎる場合がありますが、十分な前提知識を持っていても一回読んだぐらいで理解できるようなものではありません。何度も読み直し、実践し、少しずつ本の内容を理解するといったことをするしかないのです。とくに何も知らない初期の頃はそういうものです。

いくつもの本やサイトのチュートリアルを繰り返し読み、実践し、それを一年ぐらい継続して、やっと「プログラミングのプぐらいまでは理解できたかな」と言えるのがこの世界です。近道など存在しないし、すぐに何もかも理解できるものでもないのです。

本を一度読めば全てを理解できるのは一部の天才だけです。そのような天才であれば、既に自分に合った方法を見つけているはずですので、そのような方にアドバイスすることは何もありません。

学問に王道なし

昔の人が遺した言葉です。プログラミングの学習も一つの学問です。結局、自分に合ったものを自分で探す以外になく、それを見つけ出すだけでも、非常に時間がかかるものです。それで終わりではなくて、そう方法を実践しながら、ちょっとずつ進んでいくしかありません。**楽して何とかなるような世界ではありません。**もし、楽をしたいと考えるのであれば、別の方法でお金を稼いで、クラウドソーシングに頼んだ方が早いです。

投稿2019/03/21 13:49

編集2019/03/22 11:02
raccy

総合スコア21735

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

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

WeilSpinor

2019/03/21 14:05

それでは、あんまりです…笑
raccy

2019/03/21 14:42

教え方自体を学んでいない限り、人は自分がやった方法しか教えられません。他の言語に精通している人が教えることができることは、その人はその他の言語を精通することからはじめたので、同じく、その他の言語に精通することからはじめることだけです。他の言語に興味が無いのであれば、他の言語の人の意見を聞こうとは思わないでください。
WeilSpinor

2019/03/21 15:14

そうですか…他の言語をマスターした人が新しい言語を勉強するときは、もうプログラミング全体の基礎的なことは理解しているから、マニュアルとかもガンガン読んでいけちゃうんですかね?だからあえて入門書から進める必要がない…という感じ?
guest

0

「関数の定義(プロトタイプ)を読むには」
http://jp2.php.net/manual/ja/about.prototypes.php

とりあえず、ここ読むこと。


回答してる人って、すでに初心者じゃないし、初心者向けの参考書を見る機会もない。
初心者向けの本を購入して、読んだことがあっても、遥か過去のこと。
それを紹介しても手に入らなかったり、情報が古くてお勧めできない。

投稿2019/03/21 13:31

編集2019/03/21 14:07
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

WeilSpinor

2019/03/21 14:17

ご連絡ありがとうございます。 あ、こんな読み方解説ページがあったんですね。 なんか頭の体操みたいで面白そうですね。読んでみたくなってしまいます。 なんか、マニュアルを読んでいると、プログラム言語の本質的な部分とか、全体像がわかってくるような、 そんな感覚になります。 「出力バッファ」とか「ストリーム」とかはさすがに意味わかりませんでしたが、 すでに学んで慣れている用語とか、時々読んで眺めてみたいと思います。
guest

0

PHP - 初心者におすすめのPHPの本を教えて下さい。|teratail
の質問で完結できずにまた質問で蒸し返す感じが、
(恩と言えるほどのものではなかったかもしれませんが)恩を仇で返すような印象で、
ものすごく堪らないし残念に思えるし、
teratail上でコーディングしない質問が不毛なんだっていう事例として
今後も語り継がれるだろうなって思いました。

本についてや学びについて言いたいことはだいたい raccyさんが述べておられることに同意です。

どんどんいろんな本を買って読んで、合わないと思ったら古本屋に流せばいいです。
ネットで調べることの多い私も、デスクに翔泳社のPHP逆引きレシピは置いていたりします。
これはやりたいことが明瞭なときに、すぐサンプルコードが読めるので助かります。

日頃phpのコードを書く上で、関数の仕様を確認したりするのに
PHP: PHP マニュアル - Manualのサイトは軽んじることはできません。
ここに書いてある説明やサンプルコードを理解するアタマを育ててください、
という意味で、Kosuke_Shibuyaさんのアドバイスは生かしてください。おねがいします。


phpに限らず、雑多な話題を取り上げているプログラミングやシステム開発を取り上げている雑誌、
Software Dsign、日経ソフトウェア、あたり、
(私のデスクにはSoftware Designが数冊あります)も読んでください。
今は意味がわからなくて当たり前です。けど、読むんです。
今すぐ全部理解しなくてもいいです、頭の片隅にIT用語が入っていって、
数年後に「あのときに見た言葉が出てきた」っていうところから学びが始まると思います。

webに関わる基礎技術、
htmlとはなにか、webサーバープログラムってなにをやっているのか、
cgiとかssiってどう実現しているのか、
phpを組み込んだwebサーバープログラムはどうなるのか、
http通信ってなにか、リクエストとレスポンス、PUTやGETやPOSTなどのメソッド、
みたいな言葉って、MosaicとかNetscapeなんていうwebブラウザが登場したあたりからある、
古い話だけど基礎的な技術で避けて通れません。
知っとくと他のエンジニアさんたちと話が合わせやすくなります。
話が合わせやすいってことは、情報を取りやすくなるということにも繋がります。
教える側が1から10まで説明するの疲れるから敬遠されますけど、
「それってこれのことですよね?」的な相づちがあれば、教える側も疲れが緩和され
もうちょっと教えてあげようって気になります。

今まで、学校の勉強って、教科書をベースに詰め込まされる感があったと思いますが、
phpに限らずIT技術全般はどんどん新しいやりかたが登場して、
本にまとまる頃には古びてしまうくらい速度(流行り廃り)が早いので、
自分から調べる、自分から情報を取りに行く、先人に学びに学ぶ姿勢が大事な気がします。
私もよりモダンな技術の本を買っていたりしますが、
日々の業務に追われて結局積み本になっちゃっていたりするくらいなので、
調べる力が大事です。丸投げしているうちは進展しません。

プログラミング技術の本、出来が悪いと正誤表でのちのち訂正されることもあるので、
本を読むときは出版元ホームページのチェックも忘れないでください。


赤の他人であるあなたの本気度が問われています。
打っても叩いても響かない人には誰も教えてくれません。
無駄に終わるのが目に見えている人にに向けた最後の言葉になるかもしれません。
先人に教えを請うということを真剣に考えてください。
あなたが欲しい情報がここに100%揃うなんてことは期待しないでください。
ホントかウソかわからない様々な助言の中から読み解いて
自分で試してコードに盛り込んでいくことになりますので。

投稿2019/03/22 01:35

編集2019/03/22 02:08
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

WeilSpinor

2019/03/22 06:17

ご回答ありがとうございます。 私は書籍を知りたかっただけであり、決してそのような他意はないのですが、誤解を招いてしまった私の文章能力の不足をお許しください。 含蓄あるアドバイスを頂き感謝致します。また今度、何かに困った時など、この記事に戻って読み返させていただきたいと思います。
guest

0

ベストアンサー

大きな本屋さんに行って、「PHP」の本棚にあるものを立ち読みして、自分に合いそうなものを買いましょう。

ある程度バックグラウンドを知らなければ、適切な本を選ぶことはできませんので、状況をよく知っていて相談できる相手がいるのでもなければ、自分で選ぶというのも有力な手段です。

投稿2019/03/22 00:25

maisumakun

総合スコア145183

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

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

maisumakun

2019/03/22 01:03

プログラミングに正解がないのと同様、プログラミング学習法にも「正解」はありません。 ただ、コンピューターの世界は常に進化を続けていっていますので、最終的に「自分で学習する方法」を身につけられなければ、メインストリームで生き残っていけないのは間違いないです。
Stan_Dma

2019/03/22 01:27 編集

I like this answer best. It should be true that you have to read the official manual when you start to learn a programming language. And it might be also true that you novice user could not read and understand it because of a lack of knowledge of computer related things. I recommend, unlike the others, that you would read the official manual and the other Howto books simultaneously or alternately. Snowden said "Evidence in the pudding". The BASIC language users had once said "RUN better than LIST".
WeilSpinor

2019/03/22 05:48

ご回答ありがとうございます。 >プログラミングに正解がないのと同様、プログラミング学習法にも「正解」はありません。 そうですよね! 複数の方に強くお叱りを頂いたので、どうなんだろう?、と思いましたが、 上級者には上級者のやり方があるように、初心者には初心者のやり方がありますし、「どれを絶対やらなきゃダメ」「マニュアルじゃなきゃダメ」なんてないですよね。 あんまり気にしないで、自信を持って自分なりにやっていこうと思います。 (もちろん、お叱り頂いたご意見も正しいと思いますから、真摯に受け止めようと思っております) もちろん、マニュアルも読める範囲で読んで行ければと思います。
WeilSpinor

2019/03/22 06:05 編集

Thank you for your wonderful advice from a neutral point of view. I understand that when we do something, we should always refer to a reliable source of evidence and they might say it would be the "php manual". But for a begginer like me, it is a too difficult to learn only from that manual like things. This kind of problem can be seen in all kind of things. I would like to go with your advice.
Stan_Dma

2019/03/22 06:06

Prove it. Good luck.
guest

0

あなたが難解だと思うのは勝手ですが
PHPをやりたいというならPHPの公式マニュアルから逃げる事はできません。

書籍は「著者の執筆時点での認識」でしかありません。
「公式の現在の見解」を知るためには公式マニュアルを参照し読解する必要があります。

投稿2019/03/21 15:35

asm

総合スコア15147

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

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

WeilSpinor

2019/03/21 15:58

やはり、 「プログラム言語というものは、全員初心者のうちから公式マニュアルを意味が分からなくとも読み込むことが必須」 というのが、この世界のコンセンサスなのでしょうか? 初心者でも、みんな、市販の良書と呼ばれているものもあまり使わず、マニュアルで勉強しているのが普通、ということなのでしょうか?
guest

0

既に解決済みですが、回答します。

まず、選ぶのはPHP5ではなく、PHP7対応の書籍が良いかと思います。
その理由ですが、PHP5系のセキュリティサポートは2018年の12月末で終了しているからです。
今学ぶなら、最低でもPHP7以上の環境になります。
PHP7では型宣言など新しい機能が追加されており、速度も速くなっています。
そのような理由からPHP5のころに書かれた古い書籍よりも、PHP7の機能も説明した新たしい書籍が良いかと思います。

あくまで、個人(主観)的な意見です。

PHPの書籍

個人的に網羅的にわかりやすく説明してるのは「独習PHP 第3版」だと思います。
目次を見ればわかりますが、PHPの基本的なことを学べます。
ただし、わかりやすいかは個人差があります。
他の方も仰っていますが、初心者と言っても事前の知識は様々で、パソコンにも慣れていない全くの初心者なら難しく感じると思います。
「独習PHP 第3版」が難しいと感じなら、もう少し初学者向け、入門者向けの書籍を読むといいかと思います。
最近も新しい入門書が発売されていますが、私は読んだことないのでわかりません。
どちらにせよ、個人差がありますので、書店などで確認してから購入されるのが良いかと思います。

HTTPなどについての書籍

HTTPなどの基礎はこの2冊がわかりやすいと思います。
どちらかと言えば「プロになるためのWeb技術入門」の方が読みやすいと思います。
これも個人差がありますので、書店などで確認してください。

投稿2019/03/25 07:38

7968

総合スコア253

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

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

0

0、プログラミングや開発についての基本概念、思想について初心者向けにわかりやすく解説している本。
0に関しては、初歩として、谷尻かおり氏の有名な本(タイトルは忘れた)を一部読んでみて、良いと思いました。

良い書籍が見つかっているのであれば、その本を探して読むのが良いと思います。
著者名がわかっているのであれば、書店などで探してもらいましょう。

1、PHPにまつわるWeb上の諸基本概念(cookie、session、CGIとPHPの違い、など)について初心者向けに分かりやすく解説している本。
1に関しては、目次の内容からよさげな本一冊借りてみたのですが、説明は色々中途半端すぎて、あんまり使いづらいので止めました。現段階では1のような内容のものが重要だと思うので、これは手に入れたいです。

よくわかるPHPの教科書 PHP7対応版」は、初心者にも読みやすくておすすめです。

また、書籍ではありませんが、Progateドットインストールなどの学習サイトで勉強するのも良いと思います。

2、コマンドや用語・概念等を素早く参考できる初心者向けリファレンス。
2に関しては、秀和システムの『PHP5リファレンス&逆引き ユーザー便利帳』というのを借りたのですが、使いにくいということはなさそうです。他に気になる評判の本として、『PHP逆引きハンドブック』というのがあります。(ただ、これは図書館に置いてなかった…)

あえて選ぶとすれば、「PHPポケットリファレンス」が良いかと思います。

しかし、本当の初心者には、まだリファレンスなんて必要ないでしょうし、脱初心者できている人であれば、公式の PHP マニュアルを読むべきでしょう。

3、Webアプリ開発向けの実践的なサンプルスクリプトなどが豊富な初心者向けの本。大学受験でいうところの、過去問演習。

**「実践的」**と言っている時点で初心者向けのものはありません。
初心者が読むには少し厳しいかもしれませんが、「パーフェクトPHP」をおすすめしておきます。

投稿2019/03/21 23:17

nskydiving

総合スコア6500

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

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

WeilSpinor

2019/03/22 06:12

ご回答ありがとうございます。 今度本屋や図書館でご紹介頂いた本を見てみたいと思います。 むしろ、机上の勉強としては、マニュアルを解読できることを目標に掲げてやるのもありかもしれませんね。
guest

0

0、プログラミングや開発についての基本概念、思想について初心者向けにわかりやすく解説している本。

ITパスポート、基本情報、応用情報の教本などでいいと思います。というかこれらの資格を取るのがおすすめです。

1、PHPにまつわるWeb上の諸基本概念(cookie、session、CGIとPHPの違い、など)について初心者向けに分かりやすく解説している本。

0と同じ論法ですが、インターネット検定あたりが良いかと。内容が初心者向けです(実践的ではない)。

2、コマンドや用語・概念等を素早く参考できる初心者向けリファレンス。

ググって出てきたのを読めば大抵事足りる。必要ならマニュアルを読む。本は要らないと思います。

3、Webアプリ開発向けの実践的なサンプルスクリプトなどが豊富な初心者向けの本。大学受験でいうところの、過去問演習。

PHP - 初心者におすすめのPHPの本を教えて下さい。|teratail
のm6uさんの回答などを参考に自力で探せませんか?

投稿2019/03/21 13:45

編集2019/03/21 13:49
hayataka2049

総合スコア30933

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

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

WeilSpinor

2019/03/21 14:08

検定で勉強ですか、発想にありませんでした。 本格的にプログラミングする人ならみんな通る、一つの学習の王道だったりするんですかね… 機会があればみてみます。 ご回答ありがとうございます
hayataka2049

2019/03/21 14:19 編集

状況が許すのであれば、大学の情報系・コンピュータサイエンス系の学部に入って体系的に勉強するのが一番の王道です。普遍的な背景・基礎などはかなりよく教えてくれると思います。大学に入ることが不可能なら、資格がある程度は補ってくれるでしょう。
WeilSpinor

2019/03/21 14:25

やはり、プログラミングというのは大学で情報系・コンピューターサイエンス系の学部でそれなりに素養を付けた人がやるのが普通なんでしょうか…? 元をたどれば論理回路を起源に持つ計算機科学ですから、そうなるのかもしれませんが、 自分も数学の集合論くらいはやっているし、そこまで専門知識のないそこら辺の学生でもやっているし、 別にやってできないことではないと思って始めたんですが…。
hayataka2049

2019/03/21 14:29 編集

大学の話をしたのは、資格はそこまで王道というほどのものでもないということを示すためと、質問者さんがフリーターや中高生などであることを考慮したためで、他意はありません。それ以外から入る人もたくさんいます。
guest

0

投稿2019/03/22 22:28

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問