2013-07-20 1 views
0

Я хочу передать большой массив, содержащий электронные письма в качестве параметров оболочки cakephp. Я не уверен, какой подход использовать -Как передать большой массив оболочке cakephp с контроллера?

  1. Используйте модель массива для хранения данных и чтения модели в оболочке.

  2. Передавать значения массива в качестве аргумента при вызове оболочки.

  3. Храните массив в кеше и доступ из оболочки.

Я выполняю оболочку с использованием shell_exec.

Будет хорошо, если вы укажете мне, какой подход использовать или лучше подходит для кодирования?

+3

Почему бы вы сделать это? Вы уверены, что не хотите, чтобы ваш «код оболочки» в модели и вызывал модель из вашей оболочки? Это звучит неплохо. – Jelmer

+0

Я хочу запустить длинную задачу над этими электронными письмами, а оболочка - это что-то, что может выполняться в качестве фоновой задачи. Мой вопрос: как временно хранить эти сообщения, чтобы я мог получить к ним доступ в оболочке cakephp? – hack3r

+2

Вместо того, чтобы отправлять его в свою оболочку, вы не можете запрограммировать свою оболочку так, чтобы она захватывала собственные данные? Чтобы он мог работать сам по себе? – Jelmer

ответ

0

Попробуйте этот код, чтобы получить ваш массив от действия Вашего контроллера:

App::import('Core', array('View', 'Controller', 'Model', 'Router')); 
App::import('Controller', 'YourController'); 
$YourController =& new YourControllerController(); 
$YourController->constructClasses(); 
$YourController->layout = null; 
$this->out(call_user_func(array($NewsletterController, 'yourAction')));