торт работает с Shell - PullRequest
0 голосов
/ 27 апреля 2018

Я новичок в CakePHP и пытаюсь запустить Shell

Моя команда:

bin/cake CreateUsers

Этот файл можно найти в:

myproject/src/Shell/CreateUsersShell.php

но как я могу запустить другую оболочку из другого каталога?

Скажем, например, в

myproject/src/Shell/Admin/AdminBatchShell

Я попробовал команду,

bin/cake Admin/AdminBatch

но я думаю, что команда терпит неудачу, и ее невозможно найти.

Какой может быть синтаксис для запуска оболочек в cakephp с каталогами?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы не можете этого сделать.

Когда CakePHP ищет оболочки, он сканирует только папку App\Shell, но не подпапки.

Так что все ваши снаряды должны быть в папке App\Shell.

Полагаю, вы могли бы написать простую оболочку для админки, которая выглядит как

namespace App\Shell;

class AdminBatchShell extends \App\Shell\Admin\AdminBatchShell {

}

Который в основном создает копию вашей оболочки администратора в правильном пространстве имен, чтобы вы могли использовать эту команду

bin/cake admin_batch

Примечания

В отличие от общедоступного веб-доступа и префиксов, которые имеют смысл, поскольку вы хотите, чтобы административные ресурсы были защищены, в случае использования оболочек префикс их не имеет особого смысла, поскольку они могут выполняться только из командной среды вашего хостинга, поэтому только веб-администраторы или задания cron могут его запустить.

...