我想开发一个 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、图像等。现在,我只是想了解基本概念,所以我只是使用一个简单的类作为完整插件的示例。