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

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

ただいまの
回答率

89.06%

【2017年】【PHP】お勧めの書籍を教えてください【独学】

解決済

回答 3

投稿

  • 評価
  • クリップ 2
  • VIEW 3,631

shimane

score 90

現在、PHPの勉強を独学で進めて3ヶ月のものです。

【学習状況】ドットインストールの「html/css/php/mysql/jquery」の基礎が終了して
有料登録も行ってPHPの簡単なプログラムも動画を見ながらなら意味を理解しながら作成出来るようになってきました。
(ローカル開発環境も出来ていて、実際にコードを動かして動作を確認しています。)

【簡単なプログラム一覧】
・ビンゴシート(5行×5行をfor文を使ってhtml上に表示)
・カレンダー
・シンプル画像アップロード(画像サイズの制限・拡張子の制限・サムネイル作成付き「削除機能はありません」)
・簡単なTodo(やるべき事)アプリ(mysqlとの連携・レコードの追加・削除・CSRF対策(SESSIONを利用))
・クイズアプリ
・投票アプリ
(0から何も見ずに全部作成できるレベルではなく、
動画を見ながらなら「書いているコードの意味」を理解して詰まる事なく作成できるというレベルです。)

if/for/foreachや簡単なclass/namespace/
__construct()を利用したデータベースへの接続とCSRF対策(session利用)等もふんわりとですが
頭に入るようになってきました。
(html/css/jquery/データベースの基本的な操作も出来るようになってきました)

私がPHPの勉強を始めようと思ったきっかけが「作りたいサイト」があるからだったのですが
そのサイトの機能が

PHPのスクレイピング機能を利用して
「記事タイトル」「記事URL」「記事の画像」「記事のコメント」
「記事タイトルの本文から自動的に記事タグ作成」といった事になります。
(著作権的な問題は、相互リンクや相互RSSを結んでいる人から「許可」を頂いた場合にのみ行う予定です。)

PHPの勉強を実際にやってみて上のようなサイトを作るには
①スクレイピング先のhtml文章を取得
②html文章から抜き出したい項目を選んで取得
③取得したものをデータベースへ追加保存
④HTML上でデータベースから呼び出して表示
という風な流れになるのでは?と考えました。
(実際に行うのは「phpQuery」を利用していく予定です。)

スクレイピングに関する情報をネットで検索するとよくこちらのリンクが紹介されていて
PHPネイティブのDOMによるスクレイピング入門
内容を読んでみると、とても素晴らしい方法だというのは分かるのですが、
私自身に実践できる技術が足りていないので、
最初は比較的簡単な「phpQuery」を使って、慣れてきたら「DOMによるスクレイピング」をしていく予定です。

こんな状態の私に
お勧めのPHPの書籍がありましたら教えて頂けると嬉しいです。

もっと詳しく勉強したい所は
掲示板やブログによくある
「作成」「読み取り」「更新」「削除」「アクセス制限」といった機能のあるサンプルプログラムです。
(ネットで掲示板のサンプルを探してみた所、
コードの行数がとても多かったり説明がまったくなかったりで理解できなかった為)
(とても簡単な掲示板か上級者用の掲示板しか見付からず、
「中級」もしくは「中級になりたて」レベルの掲示板のサンプルが見付かりませんでした。)

私なりにネットで色々調べてみた所、
「掲示板のサンプル」と「ブログのサンプル」がある【パーフェクトPHP】という本が良さそうな印象を受けたのですが
【パーフェクトPHP (PERFECT SERIES 3) 大型本 – 2010/11/12】

出版されたのが「7年前」という事もあり、
掲載されている情報が古すぎて逆効果になるのではないかな?と、不安に思っています。
実際に読まれた方は、2017年の今でも問題のないような内容になっているのでしょうか?
PHP5.6で現在勉強しているので、PHP5.6でも大丈夫なのかどうか教えて欲しいです。
(PHP7は、情報量の多いPHP5.6の勉強がある程度進んでからやろうと思っています。)

また、この【パーフェクトPHP】以外にもお勧めの書籍がありましたら教えて頂けると嬉しいです。
どうかよろしくお願いします。

現在所持している書籍:PHP逆引きレシピ

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 3

+4

僕も「パーフェクトPHP」で勉強しました。
その名の通り全てを網羅していますので既に回答があるように辞書的な使い方もできます。
体系的に学ぶ安全なWebアプリケーションの作り方」はバージョンに関わらず、Webアプリケーションを作る上で必要な概念も学ぶことが出来ますので必読と思います。

技術力を徐々にあげていくには、
既に作ったことのあるアプリを別の作り方で改修してみたり機能を追加して見たり、
自分が作りたいと思ったものを作ってみたり、
既存のWebサイトをどのような作りになっていそうか想像しながら再現に挑戦してみたり

色々と作ってみるといいですね。

投稿

編集

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/29 19:43

    お答え有難うございます。

    同じようにパーフェクトPHPで勉強された方からのお勧めして頂くと、
    安心感と、心強さを感じています。

    パーフェクトPHPで勉強していく時に
    「「体系的に学ぶ安全なWebアプリケーションの作り方」はバージョンに関わらず、Webアプリケーションを作る上で必要な概念も学ぶことが出来ますので必読と思います。」
    教えて頂いたこの言葉を思い浮かべながら勉強頑張っていこうと思います。

    そして本で勉強しながらでも


    「技術力を徐々にあげていくには、
    既に作ったことのあるアプリを別の作り方で改修してみたり機能を追加して見たり、
    自分が作りたいと思ったものを作ってみたり、
    既存のWebサイトをどのような作りになっていそうか想像しながら再現に挑戦してみたり

    色々と作ってみるといいですね。」

    これも挑戦を頑張ってみようと思います、有難うございます!

    キャンセル

  • 2017/05/30 06:44 編集

    もしかして伝わってないかもしれません「体系的に学ぶ安全なWebアプリケーションの作り方」は本の名前です。昨日URL貼り忘れたので追記します。いわゆる「徳丸本」というやつで、著者の徳丸さんはこういうったWebアプリケーションのセキュリティ対策の第一人者と言ってよい方です。ブログではPHP脆弱性の情報を載せていたり、最新の情報を得るのにも役に立ちます。

    キャンセル

  • 2017/05/30 15:25

    書籍の名前だったんですね、すみません。
    matsu1006さん自身のお言葉なのかと勘違いしてしまいました。

    「体系的に学ぶ安全なWebアプリケーションの作り方」の書籍も一緒に探してみます!
    お勧めの書籍を教えてくださって有難うございます、大感謝です!

    キャンセル

  • 2017/05/30 15:34

    そのようないい言葉を後世に残せるくらい偉大になりたいですね。

    キャンセル

checkベストアンサー

+3

新しい書籍で良かったのはこちらです。
https://www.oreilly.co.jp/books/9784873117935/

ですが、私もPHPはパーフェクトPHPで学習しました。
どちらか1つしかおすすめできないとしたら、
パーフェクトPHPをおすすめします。

読みやすく最初のうちはPHP公式を見てもよくわからない時に、
辞書的な使い方もできました。

独自フレームワークを作ってサンプル・アプリケーションを
作るという項目があるのですが、
既存のフレームワークを使うときも独自で作った経験があると
その知識や感覚を活かせるので勉強になりました。

また、kindleで購入すると、わからなくなったらPCのkindleで開いて
不足している知識を埋めていく使い方もできますのでおすすめです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/29 19:40

    お答えありがとうございます。

    私もお勧めして頂いた「オライリーのPHP」の評判もよく
    パーフェクトPHPとどちらを選ぼうか悩んでいました。

    今は、皆様に教えて頂いた通り、パーフェクトPHPでも大丈夫だと分かりましたので
    まずはパーフェクトPHPを購入して勉強をして
    余裕が出てきたら お勧めして頂いた「オライリーのPHP本」も購入して勉強していきたいと考えています。

    「独自フレームワークを作ってサンプル・アプリケーションを
    作るという項目」

    こちらの情報もありがとうございます。
    購入するか悩んでいたので、とても参考になりました。感謝です!

    キャンセル

+3

下位互換性のない変更点を意識していれば多少古い参考書でも問題ありません

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/29 19:36

    お答え頂きありがとうございます、
    リンク先の「下位互換性のない変更点」もきちんと読んで忘れないようにしたいと思います。

    一番嬉しかったのは「多少古い参考書でも問題ありません」この言葉です。
    安心して「パーフェクトPHP」を注文する事が出来ます。
    本当にありがとうございます。

    キャンセル

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

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

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