PHPackages                             pluf/scion - 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. pluf/scion

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

pluf/scion
==========

Nonblocking model to implement HTTP server

7.0.6(5y ago)3210[1 issues](https://github.com/pluf/scion/issues)3AGPL-3.0PHP

Since Oct 21Pushed 5y ago2 watchersCompare

[ Source](https://github.com/pluf/scion)[ Packagist](https://packagist.org/packages/pluf/scion)[ Docs](https://pluf.ir)[ RSS](/packages/pluf-scion/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (6)Versions (9)Used By (3)

scion
=====

[](#scion)

[![Build Status](https://camo.githubusercontent.com/1aa8e169cd9eb799904844395920b83bafd790804a19a8cd0177efd335245805/68747470733a2f2f7472617669732d63692e636f6d2f706c75662f7363696f6e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/pluf/scion)[![Total Downloads](https://camo.githubusercontent.com/fabff62f9e455e4823c8a2b58b7e85b9c82567d7443881d4d7ed93cce479cf7b/68747470733a2f2f706f7365722e707567782e6f72672f706c75662f7363696f6e2f646f776e6c6f616473)](https://packagist.org/packages/pluf/scion)[![License](https://camo.githubusercontent.com/418b219a254200d0f4adec701f75a4039aa9c6cb59a3ee4b9566053dbfeeeffa/68747470733a2f2f706f7365722e707567782e6f72672f706c75662f7363696f6e2f6c6963656e7365)](https://packagist.org/packages/pluf/scion)

A processing model to implement nonbloking server

It is verey common in HTTP

It merges Middlewares and View

Concepts
--------

[](#concepts)

- Process
- Unit
- Dataflow

### Process

[](#process)

Process is a php function

### Unit

[](#unit)

Unit is a list of process.

An unit add a login and flow to process.

Default flow is sequensial, so, all process executed sequensially.

#### Labeled process

[](#labeled-process)

You may label a process for an special goal.

Build in label:

- condition: jumbs to the end of unit if the return value is false.

Note: condition processes are not joined to the data flow, but handnle flows.

### Dataflow

[](#dataflow)

TO send data to the successor processes a container is used.

Each process can access resources which produced in previus process.

The backward data flow is generated by return values.

How to install
--------------

[](#how-to-install)

```
composer install pluf/scion

```

Quick start
-----------

[](#quick-start)

Create a simple index.php

add the following code

```
