多数のクラスを作成し、「魔法のように」それらのクラスをアプリケーションに認識させて使用できるようにする CI アプリケーションを開発したいと考えています。たとえば、動物用のプラグインがあり、各クラスは次のようになっているとします。
class Dog extends Animal
{
public function get_description()
{
return 'A domesticated carnivorous mammal that typically has a long snout, an acute sense of smell, and a barking, howling, or whining voice.';
}
public function get_name()
{
return 'Dog';
}
public function make_sound()
{
return 'Bark, bark, bark!';
}
}
このクラスを特定の場所に配置したら、アプリケーションで使用できるようにします。使用例は次のとおりです。
- すべての動物の名前と説明をリストする
- 特定の動物に音を出させる
- 等。
ここでの私の目標は拡張性です。アプリケーション用の追加クラスを開発するだけで、このシステムを拡張できるようにしたいと考えています。また、実際には、各プラグインには単なるクラス以上のものが必要になる場合があります。おそらく、CSS、JS、画像などが必要になる可能性があります。現在、基本的な概念を理解しようとしているだけなので、完全なプラグインの例として単純なクラスを使用しています。