Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP大摇大摆和Yii_Php_Api_Yii_Swagger_Swagger Php - Fatal编程技术网

PHP大摇大摆和Yii

PHP大摇大摆和Yii,php,api,yii,swagger,swagger-php,Php,Api,Yii,Swagger,Swagger Php,我已经找了一整天,发现我已经迷路了,我觉得我在兜圈子 我已经为基于Yii的应用程序编写了一个简单的API(在一些指南的帮助下) 我现在来记录这个API,供其他人使用。 我在任何地方都读到,炫耀似乎是实现API文档的方法。 然而,我似乎可以在如何使用这个应用程序上取得任何进展 我已经按照上面的说明做了 现在我迷路了,有没有人知道下一步该怎么办 我已经尝试过对我的ApiController.php进行一些自我注释,但这不起作用。我一直在尝试使用swagger.phar命令行,但仍然没有找到合适的地方

我已经找了一整天,发现我已经迷路了,我觉得我在兜圈子

我已经为基于Yii的应用程序编写了一个简单的API(在一些指南的帮助下)

我现在来记录这个API,供其他人使用。 我在任何地方都读到,炫耀似乎是实现API文档的方法。 然而,我似乎可以在如何使用这个应用程序上取得任何进展

我已经按照上面的说明做了 现在我迷路了,有没有人知道下一步该怎么办

我已经尝试过对我的ApiController.php进行一些自我注释,但这不起作用。我一直在尝试使用swagger.phar命令行,但仍然没有找到合适的地方。 我知道你需要更多的信息,但我不知道你需要什么样的信息,所以与其粘贴很多无用的信息,不如问问我,我会发送你需要的任何信息

老实说,我想要的只是一些简单的API文档,但这似乎是不可能的


干杯

我已经在我的项目中实现了swagger php。请按照以下建议说明操作:

1) 下载swagger php(github.com/zircote/swagger php)和swagger ui(github.com/wordnik/swagger ui)。将它们提取到您的工作区

2) 在您的工作区中创建一个名为swagger api的文件夹和名为index.php的空白php文件,并粘贴以下代码

<?php
  use Swagger\Annotations as SWG;


/**
 * @SWG\Resource(
 *     apiVersion="0.2",
 *     swaggerVersion="1.2",
 *     resourcePath="/api.php",
 *     basePath="http://localhost/swagger-api/"
 * )
 */


// Run this in url

// localhost/index.php?action=get_app_list


// This is the API,show the list in array


/**
     *
     * @SWG\Api(
     *   path="/api.php?action=get_app_list",
     *   description="Operations about get app list",
     *   produces="['application/json']",
     *   @SWG\Operations(
     *     @SWG\Operation(
     *       method="GET",
     *       summary="Find facet by ID",
     *       notes="Returns a facet based on ID",
     *       type="ListResult",
     *       nickname="getAllResults", 
     *       @SWG\ResponseMessages(
     *          @SWG\ResponseMessage(
     *            code=400,
     *            message="Invalid ID supplied"
     *          ),
     *          @SWG\ResponseMessage(
     *            code=404,
     *            message="facet not found"
     *          )
     *       )
     *     )
     *   )
     * )
     */

    function get_app_list()
    {
      //normally this info would be pulled from a database.
      //build JSON array
      $app_list = array(array("id" => 1, "name" => "Web Demo"), 
    array("id" => 2, "name" => "Audio Countdown"), 
    array("id" => 3, "name" => "The Tab Key"), array("id" => 4,
    "name" => "Music Sleep Timer")); 
      return $app_list;
    }



    $possible_url = array("get_app_list");

    $value = "An error has occurred";

    if (isset($_GET["action"]) && in_array($_GET["action"], $possible_url))
    {
      switch ($_GET["action"])
        {
          case "get_app_list":
        $value = get_app_list();
        break;     
          $value = "Missing argument";
        break;
        }
    }

    //return JSON array
    echo(json_encode($value));
    ?>

问题:为什么不从apariy.IO这样的文档开始,然后开始用PHP实现呢?听起来对我来说是正确的方法。现在检查一下,这看起来确实简单了一点,感谢LiamCheck代理工具,它允许您将apariy.IO项目隧道到您的Test/Dev/Stage/Live-system上。干杯。你能再解释一下吗?因为我不太清楚