質問: 現在phpを勉強しているのですが、少しづつわかってきたのでライブラリのソースコードを読むようにしていこうと思っています。 そこでファイルの数があまり多くなく、読み解くのが比較的簡単なライブラリがあれば教えていただけないでしょうか。 先日はPEAR Benchmark_Timerを読んだのですが、これぐらいだと非常に助かります。 http://www.firstlogic.co.jp/blog/lab/raku/75 現在はPEAR::Calendarを読んでいるのですが、なかなか大変という感じです・・・。 http://www.phpbook.jp/pear/pear_calendar/ 何卒よろしくお願いいたします。
回答: コードリーディングはとても良い学習方法ですが、確かに適切なサンプルを探すのは少し大変ですよね。 `機能`が優れていることと`実装方法`が優れていることとは、必ずしも一致しないとは思いますが、機能が優れていて広く使われているものであれば、実装についても一定水準以上のレベルにあると考えて良いと思います。そういう意味では `PEAR` に登録されているライブラリの多くは候補になりますね。 そして、特定の機能にフォーカスした、いわゆる「単機能」のライブラリであれば、規模も小さく解読もし易いと思います。 そこで、たとえば `php ライブラリ おすすめ` というキーワードで検索してみては如何ですか?その中から単機能のライブラリに的を絞り実際にソースを覗いてみると良いと思います。 そのような方法で探してみると、たとえば以下のようなライブラリが割りと簡単にたくさん見つかると思います。 Carbon :時刻操作のためのライブラリ それと、既に実施されているかもしれませんが、コードリーディングに関するテクニックやツールについても調べてみられると良いと思います。PHPに関するものはあまり多くないかもしれませんけれども。 たとえば以下のような記事も公開されていましたので、ご参考まで。 PHPソースコードリーディング入門(とっかかり編) Symfony2ソースコードリーディング (1) app/consoleを読み解く 特に、後者は実際にコードを読み解く過程の実例が示されているので、参考になると思います。