我用谷歌搜索了一个小时,但也许我的Google-Fu太弱了,我找不到解决方案.
我想创建一个通过JSON请求查询服务的应用程序(所有数据和后端/业务逻辑都存储在服务中).使用普通的PHP它很简单,因为我只是发出一个curl请求,json_decode结果并得到我需要的东西.这已经很好了.
请求可能如下所示:
http://service-host/userlist
跟身体打电话:
{"logintoken": "123456-1234-5678-901234"}
获得结果:
{ "status": "Ok", "userlist":[ {"name": "foo", "id": 1}, {"name": "bar", "id": 2} ] }
现在我们希望将其纳入Zend Framework,因为它是一个业余爱好项目,我们想要了解Zend.问题是我能找到的所有信息都使用数据库.
有没有办法创建一个不使用数据库的Zend项目?我怎样才能编写代表对象而不是对象和对象关系的模型?
看看Zend_Json
和Zend_Http
(或只是使用普通的cURL).
至于您的模型,数据源是数据库还是Web服务应该没有区别.只需要一个知道如何查询数据源的类.无论是像执行getUserById
查询数据库或web服务并不重要,例如,
class UserGateway { protected $_dataSource; public function __construct($dataSource) { $this->_dataSource = $dataSource; } public function getUserById($id) { // interact with datasource instance to retrieve a user by ID } }
然后$dataSource
是类似的东西
class UserDb extends Zend_Db_Table {}
或类似的东西
class UserWebService extends Zend_Http_Client {}
换句话说,只需创建可传递给UserGateway的适当类,例如
$users = new UserGateway(new UserWebService); $users->findById(123);
确切地说,您找到用户的方式是网关和/或数据源类中的实现细节.
您可能也有兴趣在Zend_Rest_Client和
使用Zend Framework构建RESTful服务
使用Zend Framework开始使用REST
使用Zend Framework的RESTful Web服务