CakePHP中的app/Console/cake与lib/Console/cake

CakePHP中的app/Console/cake与lib/Console/cake,php,cakephp,command-line-interface,Php,Cakephp,Command Line Interface,我对Shell使用CakePHP很陌生,我没有注意到有2个cake控制台应用程序:一个在app/console/cake中,另一个在lib/console/cake中,是CakePHP核心中的第二个 到目前为止,我已经使用了lib/Console/cake bake-app/path/to/apptobake一些MVC类,但我以前从未使用过app/Console/cake。另外,lib/Console/cake在my环境变量中配置 我想知道这两个的区别,什么时候用一个或另一个,为什么 注意:我将

我对
Shell
使用CakePHP很陌生,我没有注意到有2个
cake
控制台应用程序:一个在
app/console/cake
中,另一个在
lib/console/cake
中,是CakePHP核心中的第二个

到目前为止,我已经使用了
lib/Console/cake bake-app/path/to/app
tobake一些MVC类,但我以前从未使用过
app/Console/cake
。另外,
lib/Console/cake
在my环境变量中配置

我想知道这两个的区别,什么时候用一个或另一个,为什么


注意:我将我的core文件夹移动到了另一个目录,因此很自然,
app/Console/cake
找不到
ShellDispatcher
,我应该修改哪一行来设置core library的新路径?

是相同的,但你应该使用app文件夹中的那一行:

cd app/
./Console/cake bake
要更改默认文件夹结构和配置,必须编辑以下文件:

/app/webroot/index.php
/app/webroot/test.php
并取消对这行的注释,将核心文件夹放在以下位置:

// /usr/lib/mylocation    
define('CAKE_CORE_INCLUDE_PATH', DS . 'usr' . DS . 'lib' . DS . 'mylocation');
请在此处查看手册:

区别 这两个可执行文件之间的区别在于,和。这可以像这样突出显示:

正常使用: 从不同路径引用应用程序可执行文件: 注意,应用程序和路径没有更改

路径中的蛋糕 如果路径中有
/tmp/cakephp/lib/Cake/Console/

-> cd anywhere
-> cake 

Welcome to CakePHP v2.4.6 Console
---------------------------------------------------------------
App : xxx
Path: **anywhere**
---------------------------------------------------------------
注意:应用程序和路径因执行命令时所处的位置而异

如果您总是指定
-app
标志,它们的功能将相同,但您会发现在路径中使用cake是有问题的,例如,如果您在同一主机上有多个应用程序使用不同版本的CakePHP

固定路径 如果移动了“蛋糕”文件夹,则需要编辑的文件包括:

  • app/Console/cake.php(
    $root
    变量/包含路径)
  • app/webroot/index.php(根常量)
  • app/webroot/test.php(根常量)

只有第一个参数会影响cli的使用。

是否有任何理由我应该在应用程序中使用该参数?可能没有。唯一的区别是,从lib/Console/cake调用-app参数是必需的。@manzapanza no
-app
不是必需的,如果您仍然在app dir中(无论如何都应该是这样)。直到最近,我一直只使用
。/lib/Cake/Console/Cake[command]
——这非常有效。
-> cd anywhere
-> /tmp/cakephp/app/Console/cake 

Welcome to CakePHP v2.4.6 Console
---------------------------------------------------------------
App : app
Path: /tmp/cakephp/app/
---------------------------------------------------------------
-> cd anywhere
-> cake 

Welcome to CakePHP v2.4.6 Console
---------------------------------------------------------------
App : xxx
Path: **anywhere**
---------------------------------------------------------------