我一直在为浏览器开发这个cakePHP应用程序,但现在需要支持一些服务于Android和iOS应用程序的功能,而我却无法获得有关如何使其运行的可靠信息。例如,这是必须支持移动应用程序的功能之一:
function add() {
if (!empty($this->data) ) {
$this->Customer->create();
if ($this->Customer->save($this->data)) {
$this->Session->setFlash(__('Customer is saved'), 'positive_notification');
$this->redirect(array('controller'=>'customers', 'action' => 'index'));
} else {
$this->Session->setFlash(__('Customer was not saved. Please try again'), 'negative_notification');
}
}
}
据我了解,可以通过app从应用程序调用该函数(如果我错了,请纠正我)。但是根据设备的不同,应该给出不同的回报。
或者为不同的客户公开不同的功能会更好吗?
非常欢迎任何帮助,指导或建议。
答案 0 :(得分:3)
根据您发布的功能:
$this->redirect
或setFlash
该功能可能类似于
public function add() {
$response = array(
'status' => false,
'message' => __('Customer was not saved. Please try again')
);
if (!empty($this->data)) {
$this->Customer->create();
if ($this->Customer->save($this->data)) {
$response = array(
'status' => true,
'message' => __('Customer is saved')
);
}
}
$this->set(array(
'response' => $response ,
'_serialize' => array('response')
));
}
如果您想为网站和API提供相同的CakePHP应用程序,您可以为每个应用程序使用不同的控制器:网站的客户控制器和 适用于API的APICustomer Controller,工作方式不同。
根据您的需要,您还可以拥有两个共享模型的CakePHP应用程序。