后端开发|php教程
php,segmentfault,框架
后端开发-php教程
Segmentfault 用的框架里的Data模式是什么?
游戏官方网站源码,vscode无法进行输入数据,ubuntu窗口特效,tomcat服务启动成功,爬虫资讯违法,php 代码如何调试,长乐区专业seo哪个好,旅游网站 源码 .net,织梦vip模板完整版lzw
在 /cn/news//09/… 中提到的。
楼盘网站源码,vscode git上传,ubuntu怎么拷贝文件系统,tomcat监测内存,sqlite权威指南 自营,jq上传插件,如何挑选适合的前端框架,爬虫数据分析作用,php文件追加,株洲优化seo,poms php网站订单管理系统,网页用源代码找视频下载,acg网站模板,便签程序lzw
小程序源码商城,vscode快速搜索函数,ubuntu看ens,tomcat的war文件,sqlite空时赋怎么查询,爬虫数据保存到哪种数据库,php 写入文件乱码,秒收录平台seo 运营,交易网站源码,手机404模板下载lzw
回复内容:
Segmentfault 用的框架里的Data模式是什么?
在 /cn/news//09/… 中提到的。
在SegmentFault框架中我们把Data
定义为一个数据管理对象,主要方便在模板中展现。它可以展现单个数据,也可以展现多个数据,这主要是通过继承Iterator
接口来实现的迭代器功能。比如我们展示下从数据库取出数据到页面展示的效果
在Action中我们会这样写
// 从model中取出数据$questions = $this->questionModel->listQuestions();// 将数组放入迭代器$this->questions = new Data_Question($questions);// 展现模板$this->view->render(questions.php);
到View中我们就可以操作Data_Question
对象了
url(); ?>">title(); ?>
summary(100, ...); ?>
可以看出来它的用法大大简化直观,你不需要echo
了,因为我们在Data
基类中帮你用__call
函数实现了通过字段名作为方法名直接输出的工作,当然你也可以echo $q->title
,因为我们也对__get
函数做了处理,你可以直接调用当前的字段。
更重要的是配合缓存技术的使用,我们可以达到非常梦幻的方法,比如问题作者$q->user
,它可以直接返回一个Data_User
的对象,那么我们就可以做到使用的时候再查询,想用什么数据就写什么数据,比如我们输出每个问题的作者相关信息
user->url(); ?>">user->name(); ?> . user->rank(); ?>
这只是些最基本的用法,还有更多复杂的用法就不一一介绍了,比如输出字段的时候可以带参数等等