我创建了一个新的 CakePHP 2.0 应用程序,并且想要运行插件的 shell。
<?php
// app\Plugin\Tmaker\Vendors\Shells\TmakerShell.php
class TmakerShell extends Shell {
}
但是,运行时我看不到它Console/cake
从命令行。
请告诉我我错过了什么?
根据最新文档 https://github.com/cakephp/docs/blob/master/en/console-and-shells.rst,shell 的路径已更改为app/Console/Command/
.
将您的 shell 移动到以下位置: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需要您手动加载插件,因此您还需要更新app/Config/bootstrap.php
通过增加CakePlugin::loadAll();
or CakePlugin::load('Tmaker');
到最后一行。
然后您应该能够从命令行访问 shell。在 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!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)