HTMLScrapingで苦戦…終了
引き続きHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpです。
つまづいたところについて振り返ってみます。
class〜 extends〜
▽PHP: exit - Manual
http://jp.php.net/manual/ja/keyword.extends.php
▽クラスの継承(extends) (忘れっぽいエンジニアのためのPHPリファレンス)
http://www.php-ref.com/basic/05_exntends.html
extendsキーワードでクラスを継承するとのこと。
頭が頭痛って感じですが、単にクラスを定義してるわけじゃないので見落としちゃいかんですね。
まぁ既にクラスがでてくる時点で、へろへろなんですけど
クラス(Class)は、変数及びこれらの変数で動作する関数を1つに集めたものです。
▽クラスとオブジェクト
http://www.komonet.ne.jp/~php/chap10.htm
クラスだのオブジェクトだの言われるとぴんとこないけど、これぐらいシンプルな例を出されるとわかりますね(ちょっと安心した)。
クラスの抽象化
protected abstract functionってなんじゃらほいと思ったら、より一層わからないことがorz
「拡張クラスにこのメソッドの定義を強制する」ようです。
▽クラスの抽象化
http://php.mirror.camelnetwork.com/manual/ja/language.oop5.abstract.php
必要だよってことはわかりました。入門書がそろそろ1冊欲しいです。
……昔の会社で使ってた
今すぐ導入!PHP×PostgreSQLで作る最強Webシステム (Advanced Server‐side programmingシリーズ)
- 作者: 石井達夫
- 出版社/メーカー: 技術評論社
- 発売日: 2002/12/18
- メディア: 大型本
- クリック: 5回
- この商品を含むブログ (12件) を見る
PostgreSQLなので一切触ってなかったんですが、PHP自体はバージョンが古いとはいえ、基本は一緒ですからいいですね。わかりやすいですね。ネットで大抵の情報は仕入れられるけど、小難しい情報は印刷された紙という媒体から得るのがまだまだ受け入れやすいですね。もちろん、本の出来がいいのもあると思いますけど(^_^)
ぐぁぁぁぁ
結局原因がわからず、サンプルスクリプトと同一の条件をつくって、ひとつひとつ変えてどの段階で動かなくなるかを確認することにしました。読み込まれるHTMLの方の中身を変えていって、2番目の divタグ の中の要素を選ぼうとした時点で動かなくなりました。あれ?
div[2]だよな。あれ、値が帰ってこなくなる。
とりあえずdiv[1]にしてみるか。
あれ、これでなんで2番目の divタグ の中の要素が帰ってくるんだ。
あ…………ひょっとして
div[0]。やっぱり1番目の divタグ の中の要素が帰ってくる( ̄□ ̄;
そうでした。配列の添え字は 0 から始まる整数値でしたorz
32時間前にも引用してるじゃないですか
「3番目のbook要素」、「book[2]」と。
book要素は複数あるので、配列として扱うことができます。3番目のbook要素へは、
$article->book[2]
としてアクセスすることができます。
▽PHP5を試してみる - SimpleXML関数でRSSしてみる (Do you PHP?)
http://www.doyouphp.jp/php5/php5_simplexml.shtml
あー、へこむわ。しかしこれでようやく前に進めます。