複雑なライブラリを読むために
2007/05/17 | PHPで遭遇した問題とその解決
先日紹介したPearのグラフツール「Image_Graph」。強力なツールではあるのだが、マニュアルがそろっていないことが難点だ。使い方もややこしいような気がするのだが、おそらく「ある種類のオブジェクトを生成する方法が複数ある」ことが原因のように思う。結局生成したオブジェクトが、どこから派生したものなのかさっぱりわからないので、そこから何ができるのかさっぱり・・・なのだ。そういう複雑なクラスを読むために便利な関数がある。PHPマニュアルにある「クラス/オブジェクト関数」だ。
例えば「get_parent_class」。この関数で親クラスの名前がわかる。これを使って親クラスの名前を知れば、通常クラス名にあわせてファイル名が命名されているのだから、どのファイルを参考すればよいのか判断がつくはずだ。
それに「get_class_methods」。これを使うと、使用可能なメソッドがわかるし、「get_class_vars」でデフォルトのプロパティもわかる。デバッグ時には結構有効に使える関数群だ。
しかし・・・しかしだ。「Image_Graph」は難解だ。こなれるまでまだ1年くらいかかりそう(いや、おそらくそれ以上・・・)。