私はaddonsを持つことができるボットを作っています。どのように構造化し、どのようにメインオブジェクトにアドオンからのコマンドを含めることができるかについて助けが必要です。複数のクラスからクラス関数を継承する
メインボットは非常に裸であるので、いくつかのコマンドで$ botオブジェクトを持っています。たとえば:
namespace Bot;
... the bot class ..
Usage:
$bot = new Bot();
$bot->say('hello');
私は、コマンド/ Bot.php
でこのファイルを持っている今、私はアドオンのコマンド/ Help.php
を作るここで私は、ヘルプコマンドを持つクラスを作ります。これを$ botに挿入するにはどうすればいいですか?
$bot->help->showHelp();
ここで、ヘルプクラスは$ botの子です。
私は何とか「登録」する必要があります。ヘルプコマンドは、設定ファイルにあります。それから、ループを使ってメインのBot.phpクラスに組み込みます。
しかし、それでは?私はそれを子供にして$ botの中に追加するにはどうすればいいですか?
第二のアプローチ:たぶんそれが、メモリ消費量にすべてcommmandsすべての時間をロードするために悪いです
?だから、
使用するコマンドを何ボット宣言した場合:
$bot->say();
$bot->help->showHelp();
ありがとう:
use Bot\Commands\Talk;
use Bot\Commands\Help;
私はまだにこれら二つをマージしたいです。
工場やデコレータなどの基本的なプログラミングパターンを調べる必要があります。 – ArtisticPhoenix
オートローダと依存性注入があなたのためにトリックを行います。いくつかのヒントがあります:http://stackoverflow.com/documentation/php/779/dependency-injection#t=201609031956103774342 – jaro1989