php开源微博框架,记事狗微博开源代码学习笔记:微博话题列表

阎雪峰
2023-12-01

本学习笔记是针对记事狗微博3.6.6版本的开源代码的简单分析。转载请注明来自:外链网址已屏蔽blog.okbase.net/phpchina

下面是对微博首页话题列表的分析。

(1)页面/index.php?mod=topic&code=new

模板位于/templates/default/topic_new.html

24行 function listTopic( s,lh ) {

31行 var myAjax = $.post(

"ajax.php?mod=topic&code=list",

内容还是通过ajax动态加载的

(2)加载对应的模块

/include/jishigou.php

59行 加载模块文件 @include_once $modules_path . ($this->_init_mod($types[$type])) . '.mod.php'

83行 $ModuleObject = new ModuleObject($this->var['config']);

(3)模块中根据code功能,执行对应的函数,调用逻辑层的代码

/modules/ajax/topic.mod.php

33行 ModuleObject构造函数中 $this->Execute();

37行 function Execute()

233行 $this->DoList();

604行 调用逻辑层代码获得微博列表 $info = Load::logic('topic_list', 1)->get_data($options);

(4)逻辑层的处理

/include/logic/topic_list.logic.php

218行 获取记录数 $total_record = DB::result_first($sql);

select count(*) from jishigou_topic WHERE 1 AND type IN('first','forward','both')

268行 $topic_list = $this->TopicLogic->Get($condition, $fields, $proc_func, $table);

/include/logic/topic.logic.php

1171行 取得微博话题列表 $query = $this->DatabaseHandler->Query($sql);

1207行 为话题列表取得更多的信息 function MakeAll(

1255行 $query = DB::query($sql); 取得用户详情

1272行 取得视频列表

1286行 取得音乐列表

此部分SQL:

select count(*) from jishigou_topic WHERE 1

select * from jishigou_topic WHERE 1 ORDER BY dateline DESC LIMIT 0,20

SELECT M.`uid`, M.`ucuid`, M.`username`, M.`nickname`, M.`signature`, M.`face_url`, M.`face`, M.`validate`, M.`validate_category`, M.`level`, MF.validate_true_name, MF.validate_remark FROM jishigou_members M LEFT JOIN jishigou_memberfields MF ON MF.uid = M.uid WHERE M.uid IN('1','2')

select * from jishigou_topic where `tid` in ('2','1')   // 这是为了取得转发源话题

SELECT M.`uid`, M.`ucuid`, M.`username`, M.`nickname`, M.`signature`, M.`face_url`, M.`face`, M.`validate`, M.`validate_category`, M.`level`, MF.validate_true_name, MF.validate_remark FROM jishigou_members M LEFT JOIN jishigou_memberfields MF ON MF.uid = M.uid WHERE M.uid IN('2')

 类似资料: