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

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

新規登録して質問してみよう
ただいま回答率
85.48%
スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

PHP

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

Q&A

解決済

3回答

5467閲覧

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

shimane

総合スコア98

スクレイピング

スクレイピングとは、公開されているWebサイトからページ内の情報を抽出する技術です。

PHP

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

0グッド

2クリップ

投稿2017/05/29 03:42

現在、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逆引きレシピ

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

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

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

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

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

guest

回答3

0

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

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

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

投稿2017/05/29 04:34

編集2017/05/29 21:44
m.ts10806

総合スコア80850

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

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

shimane

2017/05/29 10:43

お答え有難うございます。 同じようにパーフェクトPHPで勉強された方からのお勧めして頂くと、 安心感と、心強さを感じています。 パーフェクトPHPで勉強していく時に 「「体系的に学ぶ安全なWebアプリケーションの作り方」はバージョンに関わらず、Webアプリケーションを作る上で必要な概念も学ぶことが出来ますので必読と思います。」 教えて頂いたこの言葉を思い浮かべながら勉強頑張っていこうと思います。 そして本で勉強しながらでも 「技術力を徐々にあげていくには、 既に作ったことのあるアプリを別の作り方で改修してみたり機能を追加して見たり、 自分が作りたいと思ったものを作ってみたり、 既存のWebサイトをどのような作りになっていそうか想像しながら再現に挑戦してみたり 色々と作ってみるといいですね。」 これも挑戦を頑張ってみようと思います、有難うございます!
m.ts10806

2017/05/29 21:47 編集

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

2017/05/30 06:25

書籍の名前だったんですね、すみません。 matsu1006さん自身のお言葉なのかと勘違いしてしまいました。 「体系的に学ぶ安全なWebアプリケーションの作り方」の書籍も一緒に探してみます! お勧めの書籍を教えてくださって有難うございます、大感謝です!
m.ts10806

2017/05/30 06:34

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

0

ベストアンサー

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

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

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

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

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

投稿2017/05/29 04:28

mirainonakamura

総合スコア137

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

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

shimane

2017/05/29 10:40

お答えありがとうございます。 私もお勧めして頂いた「オライリーのPHP」の評判もよく パーフェクトPHPとどちらを選ぼうか悩んでいました。 今は、皆様に教えて頂いた通り、パーフェクトPHPでも大丈夫だと分かりましたので まずはパーフェクトPHPを購入して勉強をして 余裕が出てきたら お勧めして頂いた「オライリーのPHP本」も購入して勉強していきたいと考えています。 「独自フレームワークを作ってサンプル・アプリケーションを 作るという項目」 こちらの情報もありがとうございます。 購入するか悩んでいたので、とても参考になりました。感謝です!
guest

0

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

投稿2017/05/29 03:46

yambejp

総合スコア114777

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

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

shimane

2017/05/29 10:36

お答え頂きありがとうございます、 リンク先の「下位互換性のない変更点」もきちんと読んで忘れないようにしたいと思います。 一番嬉しかったのは「多少古い参考書でも問題ありません」この言葉です。 安心して「パーフェクトPHP」を注文する事が出来ます。 本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問