Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP:将控制器方法仅限于shell?_Shell_Cakephp 1.3 - Fatal编程技术网

CakePHP:将控制器方法仅限于shell?

CakePHP:将控制器方法仅限于shell?,shell,cakephp-1.3,Shell,Cakephp 1.3,在我的许多Cake应用程序中,我有通过cron和Cake控制台调用的shell,我想知道是否可以以“私有”方式限制这些方法,以便它们只能由控制台调用?例如,假设我的shell中有以下内容: $this->requestAction(数组('controller'=>'reviews','action'=>'generateReports'); 如何将“generateReports”操作限制为“仅限shell”方法?因为我也可以在浏览器中调用该方法,方法是: http://site.url/r

在我的许多Cake应用程序中,我有通过cron和Cake控制台调用的shell,我想知道是否可以以“私有”方式限制这些方法,以便它们只能由控制台调用?例如,假设我的shell中有以下内容:

$this->requestAction(数组('controller'=>'reviews','action'=>'generateReports');

如何将“generateReports”操作限制为“仅限shell”方法?因为我也可以在浏览器中调用该方法,方法是:
http://site.url/reviews/generateReports

尽管这对调试可能很有用,但在生产环境中可能很危险


如果我将该方法设置为私有,即_generateReports,则不允许shell执行它。有什么想法吗?我觉得应该有一个简单的解决办法,但我还没有找到一个,或类似的问题张贴。谢谢

如果您的操作仅由服务器执行,那么为什么要在可访问web的控制器中构建该操作


如果您只希望CakeShell运行该方法,则该操作应仅作为CakeTask创建。

如果您的操作仅由服务器执行,那么为什么要在可访问web的控制器中构建该操作


如果您只希望CakeShell运行该方法,则该操作应仅创建为CakeTask。

不知何故,CakeTask的概念让我无法理解。看起来很完美——谢谢!不知何故,卡克塔克斯的概念让我难以理解。看起来很完美——谢谢!