Я разработал несколько приложений ZF, использующих Twilio.Я склонен либо использовать их вспомогательную библиотеку PHP в контроллере, либо (если это что-то отличное от простого приложения) заключить их помощника в класс обслуживания: Application_Service_SMS
.
В этот момент отправляется SMSв контроллере должно выглядеть так:
$sms->send($from, $to, $body); //$sms is a service object of the twilio lib
Но это только отправная часть вопроса, как вы получаете $body
?Поскольку вы работаете в среде MVC, я бы предложил разделить два слоя (модель и представление), как вы это делали бы в любой другой точке.
Если модель определяет содержание сообщения, выполните в контроллере что-то вроде этого:
$this->view->model = $model;
$body = $this->view->render('sms/' . $command . '.phtml');
Вам нужно убедиться, что тело меньше 160 символов (или разделенона что и отправлять несколько сообщений).И вы сделали SMS-сообщение редактируемым, не меняя модель (поскольку сообщение действительно является частью слоя представления).
И поскольку с Twilio вы можете отправлять SMS-сообщения как часть TwiML голосового вызова, вытакже можно повторно использовать этот шаблон сообщения следующим образом:
//inside a TwiML script
<Sms>
<?php echo $this->partial('sms/cmd.phtml', array('model' => $this->model)); ?>
</Sms>