使用AbstractRestfulController而不是AbstractActionController实现控制器类的实际观点有何不同? AbstractRestfulController只允许RESTful行为吗?某处有并排比较吗?
答案 0 :(得分:3)
ZF2的AbstractRestfulController
提供了一个接口,用于快速轻松地实现基本HTTP方法(例如GET,POST,PUT,DELETE),同时仍允许使用控制器操作。 AbstractActionController
旨在用于控制器操作。
首先,无论在该特定控制器中实现了多少本机HTTP方法,只需要一条路由。以下是示例路由配置:
'api_customer' => [
'type' => 'Segment',
'options' => [
'route' => '/customer/:id',
'constraints' => [
'id' => '[0-9]+',
],
'defaults' => [
'__NAMESPACE__' => 'Customer\Controller',
'controller' => 'Index',
],
],
],
最后,控制器实现相当简单(并且应该有点熟悉)。
<?php
class CustomerController extends AbstractRestfulController
{
public function get($id)
{
// associated with GET request with identifier
}
public function getList()
{
// associated with GET request without identifier
}
public function create($data)
{
// associated with POST request
}
public function update($id, $data)
{
// associated with PUT request
}
public function delete($id)
{
// associated with DELETE request
}
}
有关详细信息,建议您快速查看手册。 http://framework.zend.com/manual/current/en/modules/zend.mvc.controllers.html#the-abstractrestfulcontroller