首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用的编码的Question2Answer类型

使用的编码的Question2Answer类型
EN

Stack Overflow用户
提问于 2012-07-02 23:34:59
回答 2查看 698关注 0票数 0

我在一个网站上工作,我想添加一些类似Stackoverflow的问答系统。

我下载了question2answer,它工作得很好,但当我看它是如何编码的时候,我不明白一大堆,它是纯php的,有很多功能,我没有遇到任何HTML。看看它是如何写的,我发现它很有趣。我想了解更多关于它是如何工作的,但我不知道它叫什么(如果它有名字的话)。有没有人知道我可以学到更多关于它的教程。

我没有指望我的网站使用question2answer,我只是用它来了解系统是如何工作的,最后我想自己制作这个系统。

代码看起来像这样,如果它可以提供帮助:

代码语言:javascript
复制
require_once QA_INCLUDE_DIR.'qa-db-selects.php';
require_once QA_INCLUDE_DIR.'qa-app-format.php';
require_once QA_INCLUDE_DIR.'qa-app-updates.php';

//  Determine whether path begins with qa or not (question and answer listing can be accessed either way)

$requestparts=explode('/', qa_request());
$explicitqa=(strtolower($requestparts[0])=='qa');

if ($explicitqa)
    $slugs=array_slice($requestparts, 1);
elseif (strlen($requestparts[0]))
    $slugs=$requestparts;
else
    $slugs=array();

$countslugs=count($slugs);


//  Get list of questions, other bits of information that might be useful

$userid=qa_get_logged_in_userid();

@list($questions1, $questions2, $categories, $categoryid, $favorite, $custompage)=qa_db_select_with_pending(
    qa_db_qs_selectspec($userid, 'created', 0, $slugs, null, false, false, qa_opt_if_loaded('page_size_activity')),
    qa_db_recent_a_qs_selectspec($userid, 0, $slugs),
    qa_db_category_nav_selectspec($slugs, false, false, true),
    $countslugs ? qa_db_slugs_to_category_id_selectspec($slugs) : null,
    ($countslugs && isset($userid)) ? qa_db_is_favorite_selectspec($userid, QA_ENTITY_CATEGORY, $slugs) : null,
    (($countslugs==1) && !$explicitqa) ? qa_db_page_full_selectspec($slugs[0], false) : null
);

我的网站有点像一个社交网站,主要是为了动作体育,主要是分享媒体(图片和视频)和提问等。你认为将我所有的网站重写成与question2answer相同的格式是个好主意吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-02 23:59:06

不是的。你应该使用适当的架构和可读的代码来编写它,而你发布的内容却是一团糟。试试9000多个免费的PHP框架中的任何一个,比如Symfony2Yii

票数 0
EN

Stack Overflow用户

发布于 2012-07-20 00:59:47

我曾经使用过Q2A,我可以告诉你它的架构实际上并不是太差。它很好地遵循MVC (将程序逻辑与数据逻辑从输出控制中分离出来)。

如果你想给它起个名字,我会叫它“过程化风格”,而不是面向对象风格。虽然使用了一些类(例如HTML输出类),但它主要是一组函数,分别放在不同的文件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11296791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档