0

所以我正在编写一个 API,我担心我正在编写的代码会很快变得混乱。

有些页面我需要从 API 的几个不同资源中获取数据,而我最终会得到一大堆 try 和 catch 语句。例如:

$topic_id = 100;
try
{
    $topic = AwesomeAPI::get('topics/' . $topic_id);
    $parts = AwesomeAPI::get('parts?topic_id=' . $topic_id);
    try
    {
        // Get another resource here
    }
    catch (Exception $e)
    {
        // Error
    }
}
catch (Exception $e)
{
    return Response::error('404');
}

我确信这段代码非常混乱,如果我必须循环访问一个资源并在循环中获取另一个资源,情况会变得更糟。呸。

我想知道如何以一种简洁的方式最好地处理客户端与 API 的交互。

4

1 回答 1

1

正如我之前评论的那样,在我看来,您应该将所有 API 逻辑都放在一个类中,因此也应该放在方法中。因此,您可以编写如下代码,而不是像发布的那样编写代码:

$api = new AwesomeAPI();
$topic = $api->GetTopic($topic_id);

你的AwesomeAPI类可能看起来像这样:

public class AwesomeAPI()
{
    public $topic_url = 'somewebsite.com/topics?id{0}';

    function GetTopic($topicId)
    {
        //Some code here
        $response = 'Some response (could be a JSON Document)';
        return $response;
    }
}

这样,您在应用程序中的代码将更加优雅和清晰。

希望这可以帮助你

于 2013-01-25T03:38:06.780 回答