phprest/phprest-swagger-sample-project

Phprest 示例项目。

dev-master 2015-06-29 14:30 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:09:32 UTC


README

Author Software License

要求

  • Composer
  • PHP 5.4 或最新版本
  • MySql 5.x

安装

1. 创建项目

composer -sdev create-project phprest/phprest-swagger-sample-project /path/to/your/project

2. 配置数据库设置

app/config/orm.php 中设置数据库凭据。

3. 创建数据库

create database tesselboard collate=utf8mb4_unicode_ci;

4. 数据库迁移

(在项目目录根目录下)

vendor/bin/phprest-service-orm migrations:migrate

5. 数据库样本

(在项目目录根目录下)

vendor/bin/phprest-service-orm fixtures:set

6. 存储目录

(在项目目录根目录下)

存储目录 (app/storage) 必须由 Web 服务器可写。

创建 API 文档

(在项目目录根目录下)

vendor/bin/swagger -b public/bootstrap.php -u https:///docs/jsondata api/ -o public/docs/jsondata

访问您的 API 文档

https:///docs/index.html

列出您的路由

(在项目目录根目录下)

vendor/bin/phprest routes:get

您应该得到类似以下内容

API 测试(规格测试)

(在项目目录根目录下)

cd specs
npm install
cd ..
vendor/bin/phprest-service-orm fixtures:set
specs/node_modules/jasmine-node/bin/jasmine-node --verbose specs/tests

提示

  • 将文档分离到单独的 vhost 中
  • 使用 API Blueprint 作为文档,而不是 Swagger
    • 这样您可以消除内部代码 API 文档

Nginx 示例配置

server {
    listen 80;
    server_name localhost;

    root /var/www/application/public;
    index index.php;

    location / {
        try_files $uri $uri/ @rewrite;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location @rewrite {
        rewrite ^ /index.php;
    }

    error_log /var/log/nginx/application_error.log;
}