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!
¿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 ? –
@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
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. –