Frage

In viele meine Kuchen apps Ich habe Muscheln, die über cron und die Kuchen Konsole aufgerufen werden, und ich frage mich, ob ich diese Methoden in einer „privaten“ Art und Weise beschränken kann, so dass sie nur von der Konsole aufgerufen werden? Zum Beispiel lassen Sie uns sagen, ich habe dies in meiner Schale:

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

Wie könnte ich beschränken die „generateReports“ Aktion eine „Shell nur“ Methode? Da konnte ich auch die Methode in meinem Browser aufrufen, indem Sie auf: http://site.url/reviews/generateReports
Und so nützlich wie das sein kann für das Debuggen es in einer Produktionsumgebung gefährlich werden könnte.

Wenn ich die Methode privat machen, das heißt _generateReports, dann wird die Schale nicht erlaubt, ihn auszuführen. Irgendwelche Ideen? Ich fühle mich wie soll es eine einfache Lösung für dieses Problem sein, aber ich habe nicht einen in der Lage zu finden, oder eine ähnliche Frage gestellt. Dank!

War es hilfreich?

Lösung

Wenn die Aktion nur von dem Server ausgeführt werden, warum dann Build aus der Aktion innerhalb einer Web zugänglich Controller?

Wenn Sie nur die CakeShell dieser Methode läuft dann sollte die Aktion nur als CakeTask erstellt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top