Zend Framework 面向对象 框架
php网站,使用框架是zend framework,在获取数据的时候一般都是写sql语句,用的fetchAll()方法获取数据,像这样:各位,难道没人对这个感兴趣嘛?
"把数据填充到对象里面"这句话我就没看懂...
有点赞同楼上的说法
为什么要把数据赋给对象?再把对象传给页面??
我记得获取数据库适配器之后调用query($sql)方法对数据库进行查询返回的就是一个pdo对象
你可以打印出这个对象 对象里不仅有从数据库中查询到的数据
还包含很多表信息 什么字段 宽度之类的
没什么用嘛..
通常都是把这个对象再调用一下fetchAll()方法 转成数组
你如果实在想向页面传对象
我觉得可以这样做
你自己写好一个类
然后把fetchAll()出来的数组作为参数
传给这个类的构造方法
由构造方法给类中的成员变量赋值
这样也许是"把数据填充到对象里面"了
然后你把这个对象传给页面
但我觉得就算这样 你在view里要想输出对象
还是要对对象进行相关的处理操作
而且用了框架 怎么会没有用到model呢..
难道要用传统的php方法操作数据库么
这样的话,不用那么费力了,自己写个函数,把数组换成类就可以了,干什么一定要找框架里的 ,只要框架准许就可以了,
大家回答很给力,但是不是我想要的答案,用框架的原因是可以在以后便于维护,扩展,而面向对象是编程的一个主要思路,如果只为实现功能,我就不会提出这个问题了,我需要的是在zend中,是否存在这样的一个库,可以将我查出来的数据转换成类的对象!继续求解。。。。
这么多菜鸟啊,zf2 中 这么多操作方式,Zend\Db\Sql,Zend\Db\TableGateway,Zend\Db\RowGateway,这么都不用啊
在db里写
class Db_Test{ function fetchData(){ $db=new Db(); $res=$db->fetchAll("select * from table"); return $res; }}
class TestController extends Zend_Controller_Action{ public function testAction(){ $dbclass=new Db_Test(); $data=$dbclass->fetchData(); $this->view->viewdata=$data; }}
foreach($this->viewdata as $key=>$value){ echo $value;}
这么多菜鸟啊,zf2 中 这么多操作方式,Zend\Db\Sql,Zend\Db\TableGateway,Zend\Db\RowGateway,这么都不用啊
能说得详细一点吗,或者给出一段代码????
对象数组?
你先说一下为什么要这么做
你再说一下,这样做的应用场景
总不能为类而累吧
其实我就是做网站的,已经做完了,我现在给的问题完全是技术讨论
model层就是放一些业务逻辑
你应该是想把数组放在一个对象的属性上面,
然后在控制器传入一个对象进去。
那么在视图只要循环这个属性就可以获得数组。
我不是不能把数组传到页面,我所谓的对象,指的是数据库里面表,其属性就是表的字段,我无法做到的是把查询出来的数据赋值到表的字段上去?
$db->fetchAll($sql);获取的应该是一个对象集合,用toArray()方法才能转数组,你说的把数据放到对象赋值到页面这个真没明白啊。