▼ 2008/04/30(水) Qdmailの構造-環境に応じて承継クラスを変更する
高機能日本語PHPメールライブラリ-Qdmailは、ひとつのファイルで、通常の関数、クラスライブラリ、CakePHPコンポーネントの3種類を使い分けることができる、ハイブリッド型になっています。
クラスの構成としてはこんな感じ。

CakePHPの定数が定義されているかどうかによって、CakePHPの存在を認知しています。
CakePHPのコンポーネントとして読み込まれていれば、CakephpのObjectクラスを承継するようにしています。
(それ以外の時に、Objectクラスを承継しようとしても、Objectクラスが存在しないためエラーとなる。)
ただ、いきあたりばったりで作った面もあり、QdmailBaseの中身はもっと、OOP的な方法で出来たような気がします。
いずれ時間があったら、リファクタリングなるもので、もっとスマートに作り替えてみたいと思います*1。
クラスの構成としてはこんな感じ。

CakePHPの定数が定義されているかどうかによって、CakePHPの存在を認知しています。
CakePHPのコンポーネントとして読み込まれていれば、CakephpのObjectクラスを承継するようにしています。
(それ以外の時に、Objectクラスを承継しようとしても、Objectクラスが存在しないためエラーとなる。)
ただ、いきあたりばったりで作った面もあり、QdmailBaseの中身はもっと、OOP的な方法で出来たような気がします。
いずれ時間があったら、リファクタリングなるもので、もっとスマートに作り替えてみたいと思います*1。
*1 : いつになることやら
▼ コメント(0件)
- TB-URL http://cpa-lab.com/tech/0136/tb/