Domanda

In un sacco di mia torta di applicazioni che ho conchiglie cui vengono chiamati tramite cron e la console torta, e mi chiedo se posso limitare questi metodi in maniera "privata" in modo che possano essere solo invocati dalla console? Per esempio, diciamo che ho questo nel mio guscio:

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

Come potrei limitare la "generateReports" azione per essere un "guscio unico" metodo? Perché ho potuto anche invocare il metodo nel mio browser andando a: http://site.url/reviews/generateReports
E così utile come questo può essere per il debug potrebbe essere pericoloso in un ambiente di produzione.

Se faccio il metodo privato, vale a dire _generateReports, allora la shell non sarà permesso di eseguirlo. Qualche idea? Mi sento come se ci dovrebbe essere una soluzione facile a questo, ma non sono stato in grado di trovare uno, o di una domanda simile pubblicato. Grazie!

È stato utile?

Soluzione

Se la vostra azione è solo quello di essere eseguito dal server, allora perché costruire l'azione all'interno di un controller accessibile web?

Se si desidera solo per il CakeShell per eseguire quel metodo allora l'azione deve essere creato solo come CakeTask.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top