2011-08-08 12 views
5

私は新しいCakePHP 2.0アプリケーションを作成し、プラグインのシェルを実行したいと思っています。コマンドラインからConsole/cakeを実行しているときcakephp 2.0でプラグインのシェルを実行

<?php 
// app\Plugin\Tmaker\Vendors\Shells\TmakerShell.php 
class TmakerShell extends Shell { 
} 

しかし、私はそれを見ることはできません。

私が逃したことを教えてください。

答えて

16

latest documentationによれば、シェルのパスはに変更されています。 app/Plugin/Tmaker/Console/Command/TmakerShell.php(プラグインディレクトリ名はキャメルケースのCakePHP 2.0であるかどうかわからないが、どちらの方法でも動作するようです。)

<?php 
class TmakerShell extends Shell { 
    public function main() { 
     $this->out('It works!'); 
    } 
} 

CakePHPの2.0にあなたを必要とするので:

は、次の場所にあなたのシェルを移動

手動でプラグインを読み込む場合は、最後の行にCakePlugin::loadAll();またはCakePlugin::load('Tmaker');を追加して、app/Config/bootstrap.phpを更新する必要があります。

これで、コマンドラインからシェルにアクセスできるはずです。

C:\xampplite\htdocs\cake2\app>..\lib\Cake\Console\cake Tmaker.tmaker 

Welcome to CakePHP v2.0.0-beta Console 
--------------------------------------------------------------- 
App : app 
Path: C:\xampplite\htdocs\cake2\app\ 
--------------------------------------------------------------- 
It works! 
+0

TmakerShellで同じプラグインモデルを使用するにはどうすればよいですか。例えば、私はapp/Plugin/Tmaker/Modelフォルダにabc.phpというモデル名を持っていますが、TmakerShellでこのモデルを使いたいと思っています。どのようにこれを行うことができますか? –

+0

@PardeepSinghプラグインの構文を使う必要があるかもしれません: 'public $ uses = array( 'Tmaker.Abc');' - http://book.cakephp.org/2.0/ja/appendices/glossary.html#term-plugin -syntax – deizel

+0

これは何をしているのですが、Error:Plugin Tmakerが見つかりませんでした。 しかし、私が-app/path/appでcakeを実行すると、コマンドは実行されません。私が-appオプションを使うと、cakeからの出力はありません。 –

関連する問題