gonzalo123 / restfull
restfull silex 服务器
dev-master
2015-02-18 18:00 UTC
Requires
- php: >=5.3.2
- silex/silex: >=v1.1.2, <4.0
- symfony/yaml: ~2.3,<3.0
This package is not auto-updated.
Last update: 2024-09-23 15:50:41 UTC
README
使用 Silex 的简单 RESTfull 服务器
我们在 yml 文件中定义资源
example: \Example\Data
我们还定义了自动依赖
Symfony\Component\HttpFoundation\Request: request
Doctrine\DBAL\Connection: db
我们创建资源时扩展 G\RestFull\Resource\RestFullResource,我们可以在构造函数或请求函数(getOne、getAll、deleteOne、addOne、editOne)中定义参数,从 DIC 中获取参数
namespace Example; use Symfony\Component\HttpFoundation\Request; class Data { private $request; public function __construct(Request $request) { $this->request = $request; } public function getAll() { return [ ['id' => 0, 'name' => 'Peter Parker'], ['id' => 1, 'name' => 'Clark Kent'], ]; } public function getOne($id) { return ['id' => $id, 'name' => 'Clark Kent ' . $this->request->get('a')]; } public function deleteOne($id) { return []; } public function addOne() { return []; } public function editOne($id) { return []; } }
该服务器基于 silex 构建
use G\RestFull\Silex\RestFullApplication; $app = new RestFullApplication([ 'debug' => true, 'class.map.path' => __DIR__ . '/config/resourceClassMap.yml', 'auto.injection.map.path' => __DIR__ . '/config/autoDependenciesClassMap.yml', 'base.path' => 'rest' // default value ]); $app->run();