コードにコメントまたは注釈を入れるだけです。モデルの例:
/**
* @SWG\Model(
* id="vps",
* required="['type', 'hostname']",
* @SWG\Property(name="hostname", type="string"),
* @SWG\Property(name="label", type="string"),
* @SWG\Property(name="type", type="string", enum="['vps', 'dedicated']")
* )
*/
class HostVps extends Host implements ResourceInterface
{
// ...
}
コントローラーの例:
/**
* @SWG\Resource(
* basePath="http://skyapi.dev",
* resourcePath="/vps",
* @SWG\Api(
* path="/vps",
* @SWG\Operation(
* method="GET",
* type="array",
* summary="Fetch vps lists",
* nickname="vps/index",
* @SWG\Parameter(
* name="expand",
* description="Models to expand",
* paramType="query",
* type="string",
* defaultValue="vps,os_template"
* )
* )
* )
* )
*/
class VpsController extends Controller
{
// ...
}
次にコンソールで:
php swagger.phar ./your-code-source/ -o ./directory-for-output-files
次に、Swagger UI で生成されたファイルをリンクします。これはヘルプですか?
ところで、このドキュメント: http://zircote.com/swagger-php/annotations.htmlは不完全です。パーサー エラーに依存する方が良いです。例:
php swagger.phar ./skynode-api/api/ -o ./foo
Swagger-PHP 0.9.0
-----------------
[INFO] Skipping unsupported property: "foo" for @Swagger\Annotations\Property, expecting "name", "description", "type", "format", "items", "uniqueItems", "required", "minimum", "maximum", "enum", "defaultValue", "_partialId", "_partials" in HostVps in /home/kane/some-dir/some-file.php on line 3
編集: Swagger 2.0 はGitHub でかなり良い仕様を持っています
ところで、Swagger Editorを使用して、Swagger UI で使用する API 仕様ファイル (json/yaml) を作成することを検討してください。PHP ファイルのインライン SWG ドキュメントは見苦しく、IDE でオートコンプリートがサポートされていません。