2011-08-08 21 views
5

He creado una nueva aplicación CakePHP 2.0 y quiero ejecutar el shell de un plugin.Ejecutar el shell del plugin en cakephp 2.0

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

Sin embargo, no puedo verlo cuando se ejecuta Console/cake desde la línea de comandos.

¿Desea avisarme de lo que me he perdido?

Respuesta

16

De acuerdo con latest documentation, la ruta de las shells ha cambiado a app/Console/Command/.

Mueva su concha en la siguiente ubicación: app/Plugin/Tmaker/Console/Command/TmakerShell.php (no estoy seguro si los nombres de directorio de plugins son camello-entubados en CakePHP 2.0, pero parece que funciona en ambos sentidos.)

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

Como CakePHP 2.0 se requiere para cargar complementos manualmente, también necesita actualizar app/Config/bootstrap.php agregando CakePlugin::loadAll(); o CakePlugin::load('Tmaker'); a la última línea.

Debería poder acceder a su shell desde la línea de comandos. Se ve así en Windows:

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

¿Cómo puedo usar el mismo modelo de complemento en TmakerShell. Por ejemplo, tengo el nombre del modelo como abc.php en la carpeta de la aplicación/Plugin/Tmaker/Model. Ahora quiero usar este modelo en TmakerShell. Cómo se puede hacer esto ? –

+0

@PardeepSingh es posible que necesite usar la sintaxis del complemento: 'public $ uses = array ('Tmaker.Abc');' - http://book.cakephp.org/2.0/en/appendices/glossary.html#term-plugin -syntax – deizel

+0

Eso es lo que estoy haciendo pero obteniendo un error: no se pudo encontrar el plugin Tmaker. Pero cuando ejecuto cake con -app/path/app, el comando no se ejecuta. No hay salida del pastel si uso la opción -app. –

Cuestiones relacionadas