前回の記事「オブジェクト指向型のプログラムの考え方(2)」
前回でクラスのfunction部分の作り方は何となくイメージしてもらえるようになったと思いますので、今回はクラスの変数やコンストラクタの使い方について書いていきます。
オブジェクト指向のプログラムを書く場合はこの変数の使い方にも注意しなくてはいけません。
クラスの変数に設定していいのは基本的に扱う対象のパラメータ関連のみと考えてください。
つまり、今回の場合では扱う対象がwordpress(以下WP)になるのでWP関連のパラメータや初期値で必要なものが対象になります。
今回はWPに接続するためにXMLRPCを使用しているのでWPに接続するためのオブジェクトが生成されます。この生成されたオブジェクトや、このオブジェクトを使用してWPにアクセスする場合にIDとPASSが必要になりますので、これらをクラスの変数として持ちます。
また、このように扱う対象に対して初期値が存在する場合は、それらをコンストラクタを使用して設定するようにします。
変数の悪い用法としてよく見かけるのですが、クラスの関数同士の値の受け渡しをしたいためにクラス変数を使用する人がいます。
前回書いたプログラムではsendXmlの時に$messageを変数として持たせておけば引数で渡さなくてもよくなるのでそのような使い方をする人もいますが、こういった使い方は極力やめて閉じた関数を書くようにしてください。
と、私はこんな感じでオブジェクト指向のプログラムを作成しています。
初めのうちは何となく形にはなっていても、他のシステムで再利用したりできるような物にはなっていないと思います。(私も手探りで作った部分や急いでいるときはこうなります。)
それでも多少読みやすく保守性もあがっているはずですし、そのソースを他のシステムで利用しようと改良したりしていくうちに綺麗な形になっていくと思います。
今回の例で「PHPからWPを操作する」をクラス化したプログラムを作成しましたが、製作途中のものでもよければ要望があれば公開もしたいと思っているので興味のある人はコメントしてやってください。
5月 26
最近のコメント