PHPackages                             php-openapi/yii2-openapi - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. php-openapi/yii2-openapi

ActiveLibrary[HTTP &amp; Networking](/categories/http)

php-openapi/yii2-openapi
========================

Generate full REST API application from OpenAPI 3 specification.

1.0.2(6y ago)8442↓50%2[1 issues](https://github.com/php-openapi/yii2-openapi/issues)[8 PRs](https://github.com/php-openapi/yii2-openapi/pulls)2MITPHPPHP &gt;=7.1.0CI passing

Since Mar 22Pushed 6mo ago3 watchersCompare

[ Source](https://github.com/php-openapi/yii2-openapi)[ Packagist](https://packagist.org/packages/php-openapi/yii2-openapi)[ Docs](https://github.com/cebe/yii2-openapi#readme)[ RSS](/packages/php-openapi-yii2-openapi/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (8)Versions (24)Used By (2)

yii2-openapi
============

[](#yii2-openapi)

REST API application generator for Yii2, openapi 3.0 YAML -&gt; Yii2.

Base on [Gii, the Yii Framework Code Generator](https://www.yiiframework.com/extension/yiisoft/yii2-gii).

[![Latest Stable Version](https://camo.githubusercontent.com/4351da274a47cb01cc85c0a9f77a1bee63d95ef60080ccb45359488348dfb41b/68747470733a2f2f706f7365722e707567782e6f72672f7068702d6f70656e6170692f796969322d6f70656e6170692f762f737461626c65)](https://packagist.org/packages/php-openapi/yii2-openapi)[![Latest Alpha Version](https://camo.githubusercontent.com/4953420db4e1848aac4f06842bcc053b00c44ed50d0f416e6b41b2737c606040/68747470733a2f2f706f7365722e707567782e6f72672f7068702d6f70656e6170692f796969322d6f70656e6170692f762f756e737461626c65)](https://packagist.org/packages/php-openapi/yii2-openapi)[![Total Downloads](https://camo.githubusercontent.com/e7320cce1124166e03a0434b0d56a25a7a7060c023448f99b49356ed236f75dd/68747470733a2f2f706f7365722e707567782e6f72672f7068702d6f70656e6170692f796969322d6f70656e6170692f646f776e6c6f616473)](https://packagist.org/packages/php-openapi/yii2-openapi)[![License](https://camo.githubusercontent.com/799623463770a57c50ee4f0f3b70d82f790c401aed29ec65f3dfdd7d70d150df/68747470733a2f2f706f7365722e707567782e6f72672f7068702d6f70656e6170692f796969322d6f70656e6170692f6c6963656e7365)](https://packagist.org/packages/php-openapi/yii2-openapi)[![yii2-openapi](https://github.com/php-openapi/yii2-openapi/workflows/yii2-openapi/badge.svg?branch=wip)](https://github.com/php-openapi/yii2-openapi/workflows/yii2-openapi/badge.svg?branch=wip)

TLDR; what is this?
-------------------

[](#tldr-what-is-this)

A code generator for OpenAPI and Yii Framework based PHP API application.

Input: [OpenAPI 3.0 YAML or JSON](https://github.com/OAI/OpenAPI-Specification#the-openapi-specification) (via [cebe/php-openapi](https://github.com/php-openapi/php-openapi))

Output: Yii Framework Application with Controllers, Models, database schema

Features
--------

[](#features)

Currently available features:

- Generate Path mappings, **Controllers** and Actions **for API Endpoints**. CRUD Endpoints are ready-to-use, other Endpoints are generated as abstract functions that need to be implemented
- Generate **Models** and validation based on OpenAPI Schema
- Generate **Database Schema** from OpenAPI Schema
- Generates **Database Migrations** for schema changes
- Provide **Dummy Data** via Faker for development

Requirements
------------

[](#requirements)

- PHP 7.1 or higher (works fine with PHP 8)

Install
-------

[](#install)

```
composer require php-openapi/yii2-openapi:^2.0@beta

```

Usage
-----

[](#usage)

You can use this package in your existing application or start a new project using the [yii2-app-api](https://github.com/php-openapi/yii2-app-api) application template. For usage of the template, see instructions in the template repo readme.

In your existing Yii application config (works for console as well as web):

```
