【WeCenter二次开发】你至少要知道的那些事

小明明
小明明 这家伙很懒,还没有设置简介

30 人点赞了该文章 · 9849 浏览

引言: 我仅仅是一个编程爱好者,遇到WeCenter的原因是想做个高考咨询的问答站。自己对PHP也只是略懂皮毛,更别说框架了。看了三天的ThinkPHP文档不太好消化。是WeCenter让我更好的理解了MVC的含义。

以下内容仅适合刚刚接触WeCenter准备二次开发的新同学,如果您是大神可以就此止步。如有说法不准确,请包涵,以下内容仅为个人理解。 =====================     1:框架结构有三层它们的作用及它们对应的文件夹如下: 控制器(程序流程,了解用户想要什么)--》APP 模型(数据库访问,提供用户需要的原材料)--》Model 视图(展示出来,也就是最后成品,由控制器放到用户面前)--》View   2:Wecenter的框架流程是什么样的? 控制器也就是app文件夹下的文件夹及文件,例如访问http://example.com/?/account/就是执行app/account/main.php 中 index_action 方法~再例如访问http://example.com/?/account/login/就是执行上述文件中login_action这个方法。 这(控制器函数/方法)里面会调用模型,即执行Model文件夹下的相关文件,访问数据库获得数据。例如$this->model('account')->get_user_info_by_uid($uid);就是在调用account这个用户模型,具体就是model/account.php里的相关方法~ 调用完数据,要做的事情就是把数据展示出来。在控制器方法中一般都会以这样的语句结束:TPL::output("XXX");它所做的事情就是调用视图——我们通常所说的模板。   3:在调用模型之后输出视图,那么模型是怎么把数据传给视图的呢? 请注意这条语句:TPL::assign('AAA', 'BBB');,意思就是把BBB包装成AAA;BBB是由模型获得的数据,AAA是在视图展示的形式,在TPL::output("XXX");输出的模板中可通过<?php echo $this->AAA;?>来输出BBB这个值。    Tip:研究BBB来充分发挥AAA的价值: 上文说到“把BBB包装成AAA”,其实AAA和BBB完全可以理解为等价。 前些日子活跃了一阵子,看到一个用户问,怎么显示加入时间。其实加入时间即注册时间,get_user_info_by_uid()返回的应该是用户信息绝大多数字段,或者就是用户表全部字段,我没有一一比较。同时还会有微信消息设置信息。我通过视图<?php print_r($this->user);//打印数组?>发现有reg_time这个字段的值,只要把时间戳转化成易理解的日期即可。 所以,在开发初期可以多打印几个数组,掌握成员组成,说不准什么时候就可以用到。默认模板只是把认为有必要展示的内容展示出来了,你想展示其他的,研究BBB的内容。

编后语: 第一次打这么多字,还没有插图。向全部读完的童鞋致敬!愿大家开发出自己的特色产品,愿WeCenter越来越好~

发布于 2015-06-24 21:33

免责声明:

本文由 小明明 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

小明明
2015-07-09 07:10
如果home/index模板中输出前面那一个则为真。我的理解是它在判断home/index模板中是否存在TPL::output("block/sidebar_recommend_users_topics.tpl.htm");这条语句。
cfcxu
2015-07-08 10:09
赞!TPL::is_output('block/sidebar_recommend_users_topics.tpl.htm', 'home/index')这个是判断啥啊?
苏逸融
2015-06-25 16:06
WeCenter的设计是挺赞的,二次开发增加一个新的application挺方便的
MOEsun本尊
2015-06-25 15:20
创造性朝鲜族
AWSupport
2015-06-25 12:12
写得很不错,已推荐
seeker
2015-06-25 08:03
很用心的分享~!!
嘿嘿
2015-06-24 22:13
参与一下
嘿嘿
2015-06-24 22:13
参与一下