PHPackages                             jeyroik/extas-jsonrpc - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. jeyroik/extas-jsonrpc

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jeyroik/extas-jsonrpc
=====================

Extas jsonrpc package

4.1.0(6y ago)06484PHPCI failing

Since Jan 13Pushed 6y ago1 watchersCompare

[ Source](https://github.com/jeyroik/extas-jsonrpc)[ Packagist](https://packagist.org/packages/jeyroik/extas-jsonrpc)[ RSS](/packages/jeyroik-extas-jsonrpc/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (17)Versions (31)Used By (4)

[![tests](https://github.com/jeyroik/extas-jsonrpc/workflows/PHP%20Composer/badge.svg?branch=master&event=push)](https://github.com/jeyroik/extas-jsonrpc/workflows/PHP%20Composer/badge.svg?branch=master&event=push)[![codecov.io](https://camo.githubusercontent.com/d9b56fa804745206ab80bd79275c0ee811a460b20a0a9c48c5b7444cb9c99a12/68747470733a2f2f636f6465636f762e696f2f67682f6a6579726f696b2f65787461732d6a736f6e7270632f636f7665726167652e7376673f6272616e63683d6d6173746572)](https://camo.githubusercontent.com/d9b56fa804745206ab80bd79275c0ee811a460b20a0a9c48c5b7444cb9c99a12/68747470733a2f2f636f6465636f762e696f2f67682f6a6579726f696b2f65787461732d6a736f6e7270632f636f7665726167652e7376673f6272616e63683d6d6173746572)[![PHPStan Enabled](https://camo.githubusercontent.com/441b5874ce4df0a2defc892979c96c46889b69cb32119d04f0b48626349f8bc9/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d656e61626c65642d627269676874677265656e2e7376673f7374796c653d666c6174)](https://github.com/phpstan/phpstan)[![](https://camo.githubusercontent.com/ece267f445397ec4b7b62af16b70ace66ca79c709a024ca4596d0d400b0a0512/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f35393831653338616662306332663632633738662f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/jeyroik/extas-jsonrpc/maintainability)[![Extas Installer v3](https://camo.githubusercontent.com/84fa12b6b5945df440cd1eada219bbced80060f2595ae4bcbedb6a8fac03acee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f696e7374616c6c65722d76332d677265656e)](https://github.com/jeyroik/extas-installer/ "Extas Installer v3")[![Latest Stable Version](https://camo.githubusercontent.com/d7ace8ec883d092072e98d0259241488b800aea7b9d4662e7952c78e613a890e/68747470733a2f2f706f7365722e707567782e6f72672f6a6579726f696b2f65787461732d6a736f6e7270632f76)](//packagist.org/packages/jeyroik/extas-jsonrpc)[![Total Downloads](https://camo.githubusercontent.com/88ab07d748b2ef804e9b4d2199e1dcfd2e245661100a93ce2dc001884da7ac57/68747470733a2f2f706f7365722e707567782e6f72672f6a6579726f696b2f65787461732d6a736f6e7270632f646f776e6c6f616473)](//packagist.org/packages/jeyroik/extas-jsonrpc)[![Dependents](https://camo.githubusercontent.com/a94dd916102d62fdbfc82b479ff94925ea74cee3dc2ac03df8c56b40d818f180/68747470733a2f2f706f7365722e707567782e6f72672f6a6579726f696b2f65787461732d6a736f6e7270632f646570656e64656e7473)](//packagist.org/packages/jeyroik/extas-jsonrpc)

Description
===========

[](#description)

Extas-compatible JSON RPC server.

install operations
==================

[](#install-operations)

install jsonrpc plugin and default operation
--------------------------------------------

[](#install-jsonrpc-plugin-and-default-operation)

`# vendor/bin/extas i`

usage out of the box
====================

[](#usage-out-of-the-box)

start server
------------

[](#start-server)

`# php -S 0.0.0.0:8080 -t src/public`

make request
------------

[](#make-request)

`# curl -X POST localhost:8080/api/jsonrpc -d '{"id": "request id", "method":"operation.index"}'`

spec generation
===============

[](#spec-generation)

This package allows generating specs upon to `InstallSection-`plugins, extended from `extas\components\plugins\intsall\InstallSection`.

This package allows generating specs upon to `InitSection-`plugins, extended from `extas\components\plugins\init\InitSection`.

`*` - you can reset this prefix (see below).

There is extas-command for spec generation. Command is ready-to-extending, so you can add your own options, using `extas-commands-options`-notation. See `extas.json` of the current package for examples.

install command
---------------

[](#install-command)

- `# vendor/bin/extas i`
- `# vendor/bin/extas list` - command `jsonrpc` should be listed.

generate specs
--------------

[](#generate-specs)

`# vendor/bin/extas jsonrpc --export-path generated.extas.json`

This will generate extas-compatible configuration in ready-to-install format.

So you can install specs by

`# vendor/bin/extas i`

--export-path
-------------

[](#--export-path)

Define path to store generated specs.

- Default: `CWD/specs.extas.json`
- You can pass relative and absolute path.

`CWD` - Current Working Directory.

--prefix-jsonrpc-install
------------------------

[](#--prefix-jsonrpc-install)

Allow setting prefix for plugins searching by install section crawler.

- Default: `Install`

--path-jsonrpc-install
----------------------

[](#--path-jsonrpc-install)

Allow setting path for searching plugins by install section crawler.

- Default: current working directory.

--prefix-jsonrpc-doc-comment
----------------------------

[](#--prefix-jsonrpc-doc-comment)

Allow setting prefix for classes searching by doc-comment crawler.

- Default: `Install`

--path-jsonrpc-doc-comment
--------------------------

[](#--path-jsonrpc-doc-comment)

Allow setting path for searching classes by doc comment crawler.

- Default: current working directory.

-f --filter
-----------

[](#-f---filter)

Allow filtering operations names.

- Default: ` `
- Example: `# vendor/bin/extas jsonrpc -f workflow` will generate specs only for operations with `workflow` in a name.

-e --only-edge
--------------

[](#-e---only-edge)

Sometimes you want to make entity name shorter and use only last word of plugin name.

You can do this with the option `-e`:

For example, we have plugin name `workflow schema`.

- Default: `0` - generate entity name `workflow.schema`.
- With edging: `# vendor/bin/extas jsonrpc -e 1` will produce entity name `schema`.

specs examples
==============

[](#specs-examples)

You can find them here:

- `resources/create.spec.json`
- `resources/index.spec.json`
- `resources/update.spec.json`
- `resources/delete.spec.json`

injection into json-rpc process
===============================

[](#injection-into-json-rpc-process)

Current package provide next stages to allow you to inject into the json-rpc process:

- `before.run.jsonrpc` - before every json-rpc processing.
- `before.run.jsonrpc.`
- `after.run.jsonrpc.`
- `after.run.jsonrpc` - after every json-rpc processing.

Generators
==========

[](#generators)

Package use `extas-generators` package for getting generators.

You should turn generators on if you want to use one.

You can find ready-to-config default generators configuration in `resources/generators.json`. Just copy-paste them into your `extas.json`.

Crawlers
========

[](#crawlers)

Package use `extas-crawlers` package for getting crawlers.

You should turn crawlers on if you want to use one.

You can find ready-to-config default crawlers configuration in `resources/crawlers.json`. Just copy-paste them into your `extas.json`.

###  Health Score

32

—

LowBetter than 69% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 99.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Total

28

Last Release

2201d ago

Major Versions

0.5.4 → 1.0.72020-03-23

1.0.11 → 2.0.02020-05-08

1.1.1 → 3.0.02020-06-10

3.1.0 → 4.0.02020-06-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/2aaec5c4bade6ab2b5d1a0f7d97ab4e0ff2ce83937f76499b2888ad16cde5e04?d=identicon)[jeyroik](/maintainers/jeyroik)

---

Top Contributors

[![jeyroik](https://avatars.githubusercontent.com/u/6348124?v=4)](https://github.com/jeyroik "jeyroik (173 commits)")[![Sett](https://avatars.githubusercontent.com/u/387465?v=4)](https://github.com/Sett "Sett (1 commits)")

---

Tags

extasjson-rpcphp

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/jeyroik-extas-jsonrpc/health.svg)

```
[![Health](https://phpackages.com/badges/jeyroik-extas-jsonrpc/health.svg)](https://phpackages.com/packages/jeyroik-extas-jsonrpc)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.8k543.8M20.1k](/packages/laravel-framework)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k53](/packages/friendsoftypo3-content-blocks)[phlak/directory-lister

PHP directory lister

2.5k1.4k](/packages/phlak-directory-lister)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[testo/testo

A lightweight PHP testing framework.

1959.3k64](/packages/testo-testo)[lion/bundle

Lion-framework configuration and initialization package

122.4k4](/packages/lion-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
