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**
---------------------------------------------------------------