Zgodnie z latest documentation ścieżka dla muszli zmieniła się na app/Console/Command/
.
Najedź skorupę do następującej lokalizacji: app/Plugin/Tmaker/Console/Command/TmakerShell.php
(nie wiem, czy nazwy katalogów wtyczki są wielbłądziej obudowane w CakePHP 2.0, ale wydaje się działać w obu kierunkach.)
<?php
class TmakerShell extends Shell {
public function main() {
$this->out('It works!');
}
}
Jak CakePHP 2.0 wymaga ładuj wtyczki ręcznie, musisz również zaktualizować app/Config/bootstrap.php
, dodając CakePlugin::loadAll();
lub CakePlugin::load('Tmaker');
do ostatniej linii.
Powinieneś wtedy mieć dostęp do swojej powłoki z wiersza poleceń. Wygląda to tak w systemie 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!
Jak używać tego samego modelu wtyczki w TmakerShell. Na przykład mam nazwę modelu jako abc.php w folderze app/Plugin/Tmaker/Model, teraz chcę użyć tego modelu w TmakerShell. Jak można to zrobić? –
@PardeepSingh może być konieczne użycie składni wtyczki: 'public $ uses = array ('Tmaker.Abc');' - http://book.cakephp.org/2.0/en/appendices/glossary.html#term-plugin -syntax – deizel
To właśnie robię, ale pojawia się błąd: nie można znaleźć wtyczki Tmaker. Ale kiedy uruchamiam ciasto z -app/path/app, polecenie nie jest wykonywane. Brak wyjścia z ciasta, jeśli użyję opcji -app. –