2013-04-11 48 views
2

我想開發一個CI應用程序,它允許我創建許多類,並且「神奇地」讓應用程序識別這些類並能夠使用它們。例如,假設我有動物的插件和每個類看起來是這樣的:CodeIgniter - 如何創建一個插件系統?

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!'; 
    } 
} 

一旦這類被放置在一些指定的位置,我希望應用程序能夠使用它。例如用途是:

  1. 列出所有的動物名稱和描述
  2. 做一個特定的動物做它的聲音
  3. 等等

可擴展性是我的目標。我希望人們能夠通過爲應用程序開發額外的類來擴展這個系統。而且,事實上,也許每個插件可能不僅僅需要一個類。也許它可能需要CSS,JS,圖像等。現在,我只是試圖讓基本概念失效,所以我只是使用簡單的類作爲完整插件的示例。

回答

2

你可以把樣品:

CI-插件-系統:https://github.com/Vheissu/CI-Plugin-System

+0

沒有任何bosy知道如何使用它? – 2016-04-06 06:53:10

+0

首先在'add_action('sample.action','hello_world',10)''插件裏面註冊方法。在想要觸發此操作後,使用'do_action('sample.action')'。查看示例插件文件:https://github.com/Vheissu/CI-Plugin-System/blob/master/plugins/helloworld/helloworld.php – Bora 2016-04-06 15:18:17

+0

@Bora謝謝... – 2016-09-28 18:46:34