我想要一个我必须能够访问 appController 的 shell 脚本,这可能吗,而无需将该代码复制到 AppShell 中?如果是这样,任何指针?
提前致谢
我想要一个我必须能够访问 appController 的 shell 脚本,这可能吗,而无需将该代码复制到 AppShell 中?如果是这样,任何指针?
提前致谢
通常,shell 不应依赖控制器内的代码、一些指针(根据要求):
如果上述选项确实不是一个选项,您将不得不手动初始化 AppController。请记住,因为您是从命令行运行的,所以不会出现各种情况,例如没有“请求”并且某些环境变量(例如主机名)可能不会返回预期值!
手动初始化控制器将是这样的;
App::uses('CakeRequest', 'Network');
App::uses('CakeResponse', 'Network');
App::uses('Controller', 'Controller');
App::uses('AppController', 'Controller');
// request/response may be optional, depends on your use
$controller = new AppController(new CakeRequest(), new CakeResponse());
$controller->constructClasses();
$controller->startupProcess();