ようこそゲストさん

CPA-LABテクニカル

2008/04/30(水) Qdmailの構造-環境に応じて承継クラスを変更する

はてブ情報 はてブに登録 はてブ数 qdmailspok
高機能日本語PHPメールライブラリ-Qdmailは、ひとつのファイルで、通常の関数、クラスライブラリ、CakePHPコンポーネントの3種類を使い分けることができる、ハイブリッド型になっています。

クラスの構成としてはこんな感じ。
qdmail_uml.jpg

CakePHPの定数が定義されているかどうかによって、CakePHPの存在を認知しています。
CakePHPのコンポーネントとして読み込まれていれば、CakephpのObjectクラスを承継するようにしています。
(それ以外の時に、Objectクラスを承継しようとしても、Objectクラスが存在しないためエラーとなる。)

ただ、いきあたりばったりで作った面もあり、QdmailBaseの中身はもっと、OOP的な方法で出来たような気がします。
いずれ時間があったら、リファクタリングなるもので、もっとスマートに作り替えてみたいと思います*1

*1 : いつになることやら


名前:  非公開コメント   

  • TB-URL  http://cpa-lab.com/tech/0136/tb/