【问题标题】:CodeIgniter REST API and PhoneGapCodeIgniter REST API 和 PhoneGap
【发布时间】:2015-06-29 14:16:56
【问题描述】:

我是 CodeIgniter 的新手,最近听说过 RESTful API,因为我在 PhoneGap (monaca) 中构建了一个 Android 应用程序,因此我不得不研究如何让 PHP 后端支持它。

我了解到,使用 CodeIgniter RESTful API 和 AJAX/JSON,我可以调用和显示数据库中的频道名称、徽标、频道 URL 和描述等数据,以显示在我的应用程序中。但我观看的许多教程要么是西班牙语的(我不会说话,所以我只是坐着看视频),要么就是解释不够。

因此,我很难相信我可以通过带有 get 动词的 URL 字符串一次调用大约 5 个频道的详细信息。很难解释,这就是我的困惑。

如果我可以在某处观看书籍或视频以深入了解这方面的知识,我会很高兴。我更像是一个视觉化的人,所以看一步一步的教程对我有好处。如果没有,一个简短的解释可以帮助我归档我的目标。

【问题讨论】:

  • 你知道如何基本使用 PHP 吗?连接到这个理论上的 REST 服务后,您的应用会收到什么数据格式?
  • 是的,我非常了解 php。我已经用 codeignitor 开发了后端。我现在非常了解mvc。 json 将是数据格式。感谢您的答复。在上面发布我的问题后,我也刚刚读到了这一点。我注意到它可以发送所有这些数据。但如果您有任何进一步解释,将不胜感激。
  • 很高兴知道您希望有多少用户同时使用您的应用程序。您预计每秒有多少请求?

标签: php rest monaca


【解决方案1】:

为了简单起见,我将使用 PDO:

网址 - 给出的示例有 2 个“频道”

http://www.example.com/api/get_channel_info?id[]=2&id[]=67

CodeIgniter

class Api extends CI_Controller
{
    function get_channel_info()
    {
        if(is_array($this->input->get('id')) && $this->input->get('id'))
        {
            $dbh = new PDO($db_conn_string, $user, $pass);

            $sql = 'select * from channels where id in(?'.str_repeat(',?', (count($this->input->get('id')) - 1)).')';

            $sth = $dbh->prepare($sql);
            $sth->execute($this->input->get('id'));

            echo json_encode($sth->fetchAll(PDO::FETCH_ASSOC));
        }
    }
}

【讨论】:

  • 我现在的问题是......我如何连接应用程序以从 url 获取信息。
  • @RichardOtabil 这很容易。阅读有关如何使用 JSON API 的 Android(可能是 PhoneGap 特定的)教程
  • 还有一件事。我认为数据库业务应该在模型中完成?那么我可以简单地将值传递给模型来做数据库业务吗?我认为主要是 echo json_encode($sth->fetchAll(PDO::FETCH_ASSOC));正确的?哪个会留在控制器中?谢谢老板。
  • @RichardOtabil 100% 由您自行决定。 MVC 模型只是建议实践的指南。我的示例的唯一目的是向您展示这个概念。如果 PHP 执行速度成为重中之重,那么您可以选择创建一个名为 get_channel_info.php 的独立文件,这样您就可以避免加载框架的开销。
  • 谢谢先生! .如果你在推特上,我会关注你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-13
  • 2016-02-18
相关资源
最近更新 更多