【问题标题】:How to bootstrap socialengine?如何引导社交引擎?
【发布时间】:2015-09-28 11:45:38
【问题描述】:

我需要使用 SE 模型公开的一些功能作为 AJAX 调用的一部分。像这样的:

<?php
header("Content-Type: application/json");
require_once("application/modules/Advancedarticles/Model/Artarticle.php");
$id = $_GET['id'] or die("Malformed instruction");
$article = new AdvancedArticle($id);
$shares = array(
    'twitter'=>$article->twitterShareCount,
    'facebook'=>$article->facebookShareCount,
);
echo json_encode($shares);
?>

不需要路由或任何爵士乐。

以这种方式引导 SE 的最低要求是多少?

【问题讨论】:

    标签: api zend-framework bootstrapping socialengine


    【解决方案1】:

    当您为 SocialEngine 或任何其他平台开发时,最好遵循该平台的标准结构。在 SocialEngine 中,您首先从 SocialEngine 提供的开发者 SDK 创建一个模块。您可以从 SocialEngine 的包管理器访问 SDK。

    安装新模块后,您需要创建一个控制器。此控制器将从模型中获取数据并将其输出为 JSON。

    我猜 Advancedarticles 是 SEAO 的一个插件,所以应该有一个 advancedarticles_article 模型项或在 Advancedarticles 插件的清单中已经定义的类似内容。您可以检查项目名称:

    application/modules/Advancedarticles/settings/manifest.php
    

    假设您新创建的模块名称是 Myapi 并且您的控制器位于:

    application/modules/Myapi/controllers/ArticleController.php
    

    控制器代码:

    <?php
    
     class Myapi_ArticleController extends Core_Controller_Action_Standard
     {
    
        public function sharesAction()
        {
            $id = $this->_getParam('id');
    
            $article = Engine_Api::_()->getItem('advancedarticles_article', $id);
    
            $shares = array(
                'twitter'=>$article->twitterShareCount,
                'facebook'=>$article->facebookShareCount,
            );
    
            $this->_helper->json($shares);
        }
    
     }
    

    然后你调用它:

    http://localhost/myapi/article/shares/?id=XXX
    

    【讨论】:

    • @DanielJames 仅供参考,礼仪是用绿色复选框标记答案 - 它有助于 Stack Overflow 算法并向作者奖励积分。
    • 我知道这一点,但如您所见,提交的答案实际上并没有回答问题。当然,不将 SO 用作讨论论坛也是一种礼仪。请参阅:Stackoverflow 不是论坛 (meta.stackexchange.com/questions/92107/…)
    • 如果它没有回答你的问题,那么你应该指出什么是不清楚的。根据您自己的评论,我认为确实如此。此外,重新阅读问题和阿里的答案,我相信它确实充分解决了这个问题。
    • @DanielJames 我的回答不是像你自己说的那样清楚、简洁和中肯吗?如果缺少某些内容,请告诉我,我会将其添加到我的答案中。
    猜你喜欢
    • 2016-06-26
    • 2017-09-26
    • 2012-08-07
    • 2014-08-14
    • 2015-01-24
    • 2012-12-14
    • 2012-04-29
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多