cakephp 运行 一个 Shell
cakephp running a Shell
我是 cakephp 的新手,我正在尝试 运行 Shell
我的命令是:
bin/cake CreateUsers
此文件可在以下位置找到:
myproject/src/Shell/CreateUsersShell.php
但是我怎么能 运行 来自另一个目录的另一个 shell 呢?
比如说,在
myproject/src/Shell/Admin/AdminBatchShell
我试过命令,
bin/cake Admin/AdminBatch
但我认为命令失败,无法找到。
带目录的 cakephp 中 运行ning shells 的语法是什么?
你不能那样做。
当 CakePHP 查找 shell 时,它只扫描 App\Shell
文件夹,而不扫描子文件夹。
所以你所有的 shell 都需要在 App\Shell
文件夹中。
我想你可以为你的管理员写一个简单的包装器shell,看起来像
namespace App\Shell;
class AdminBatchShell extends \App\Shell\Admin\AdminBatchShell {
}
这基本上会在适当的命名空间中创建您的管理员 shell 的副本,因此您可以使用此命令
bin/cake admin_batch
备注
与 public 和前缀有意义的 Web 访问不同,因为您希望管理内容受到保护,如果 shell 给它们加上前缀没有多大意义,因为它们只能从您的托管命令环境中执行,因此只有 Web 管理员或 cron 作业可以 运行 它。
我是 cakephp 的新手,我正在尝试 运行 Shell
我的命令是:
bin/cake CreateUsers
此文件可在以下位置找到:
myproject/src/Shell/CreateUsersShell.php
但是我怎么能 运行 来自另一个目录的另一个 shell 呢?
比如说,在
myproject/src/Shell/Admin/AdminBatchShell
我试过命令,
bin/cake Admin/AdminBatch
但我认为命令失败,无法找到。
带目录的 cakephp 中 运行ning shells 的语法是什么?
你不能那样做。
当 CakePHP 查找 shell 时,它只扫描 App\Shell
文件夹,而不扫描子文件夹。
所以你所有的 shell 都需要在 App\Shell
文件夹中。
我想你可以为你的管理员写一个简单的包装器shell,看起来像
namespace App\Shell;
class AdminBatchShell extends \App\Shell\Admin\AdminBatchShell {
}
这基本上会在适当的命名空间中创建您的管理员 shell 的副本,因此您可以使用此命令
bin/cake admin_batch
备注
与 public 和前缀有意义的 Web 访问不同,因为您希望管理内容受到保护,如果 shell 给它们加上前缀没有多大意义,因为它们只能从您的托管命令环境中执行,因此只有 Web 管理员或 cron 作业可以 运行 它。