Mor*_*dur 3 php json zend-framework model
我用谷歌搜索了一个小时,但也许我的Google-Fu太弱了,我找不到解决方案.
我想创建一个通过JSON请求查询服务的应用程序(所有数据和后端/业务逻辑都存储在服务中).使用普通的PHP它很简单,因为我只是发出一个curl请求,json_decode结果并得到我需要的东西.这已经很好了.
请求可能如下所示:
http://service-host/userlist跟身体打电话:
{"logintoken": "123456-1234-5678-901234"}
Run Code Online (Sandbox Code Playgroud)
获得结果:
{
"status": "Ok",
"userlist":[
{"name": "foo", "id": 1},
{"name": "bar", "id": 2}
]
}
Run Code Online (Sandbox Code Playgroud)
现在我们希望将其纳入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
}
}
Run Code Online (Sandbox Code Playgroud)
然后$dataSource是类似的东西
class UserDb extends Zend_Db_Table {}
Run Code Online (Sandbox Code Playgroud)
或类似的东西
class UserWebService extends Zend_Http_Client {}
Run Code Online (Sandbox Code Playgroud)
换句话说,只需创建可传递给UserGateway的适当类,例如
$users = new UserGateway(new UserWebService);
$users->findById(123);
Run Code Online (Sandbox Code Playgroud)
确切地说,您找到用户的方式是网关和/或数据源类中的实现细节.
您可能也有兴趣在Zend_Rest_Client和
| 归档时间: |
|
| 查看次数: |
621 次 |
| 最近记录: |