Download the PHP package adt/ratchet without Composer

On this page you can find all versions of the php package adt/ratchet. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ratchet

Nette Ratchet extension

Implementace websocketového serveru Ratchet http://socketo.me, do Nette.

Vlastnosti

  1. Tvorba Component stejně jako v Ratchetu, ale s využitím všech pohodlných věcí z Nette
  2. Oddělení Vaších aplikací pomocí routování
  3. Běh více aplikací na jednom serveru
  4. Vytvoření více oddělených instancí stejné aplikace

Instalace rozšíření

  1. Stažení přes composer: adt/ratchet
  2. Připojení DI rozšíření ADT\Ratchet\DI\RatchetExtension

Jak to celé funguje

Serverová část

Implementace serverové části v server.php se velmi podobá souboru index.php:

Spuštění serveru:

Controller

Každá naše aplikace, kterou chceme vytvořit, se nazývá Controller. Každý Controller implementuje některé z rozhraní Ratchet\ComponentInterface (stejně jako kterákoliv Ratchet Componenta).

Router

K oddělení jednotlivých aplikací slouží ADT\Ratchet\Components\Router. Routy lze zadávat pohodlně v neonu:

Základ routy tvoří dvojice path-controller. Controller lze zadat buď přímo jako servisu a nebo jako továrničku implementující funkci create().

Zadáním httpHost specifikujeme konkrétní doménu, pro kterou bude routa fungovat.

V některých případech chceme pro každou ze skupin uživatelů vytvořit vlastní instanci Controlleru. Příkladem může být běh stejné aplikace pro více subdomén. Pohodlnějším způsobem, než vše v každém Controlleru ošetřovat, je využití parametru instantionResolver. Parametrem je třída implementující rozhraní ADT\Ratchet\Controllers\IInstantionResolver. Nejlepší bude ukázat příklad. Následující implementace InstantionResolveru provede to, že se pro každou ze subdomén vytvoří (samozřejmě lazy) vlastní instance Controlleru:

Integrace do existující aplikace

TODO: ZMQ model

Debugování

TODO: ADT\Dumper, vytvořit Debug Componentu, ke které by se přihlásil jeden uživatel a na ten by se odesílal všechen výstup (subscribe k _debug)?

TODOs

  1. Přidat do configu možnost autoDestroy: pokud je Controller dynamicky vytvořen a všichni uživatelé se odpojili, smaž imstanci Controlleru.
  2. Benchmark: Porovnat NodeJS a Ratchet. Rychlost odezvy na jeden jediný request (pokud oboje je 1ms, tak neřešit, ale pokud je jedno z nich 200ms a druhý 1ms, tak je to špaténka). Odezva je v 99% 1-2ms (s tím, že se tam započítává nejspíš i nějaký JS balast).
  3. Chci naše controllery odstínit od toho, aby si museli rozdělovat všechno na subdomény. Pokud se někdo připojí ke konkrétní subdoméně, nemůže komunikovat s nikým jiným. Každý prohlížeč se však může připojit ke všem controllerům své subdomény a také ke všem controllerům domény. Controller nebude řešit subdomény a bude počítat s tím, že se k němu request z jiné subodmény nedostane => toto je třeba řešit v nižších vrstvách.
  4. Router by neměl dostávat přímo Controller, ale továrnu, která se na základě parametrů (v mém případě subdomény) rozhodna zda vytvořit nový Controller a nebo zda vrátit existující, pokud pro subdoménuexistuje.

  5. Routa:

    • Path
    • Controller class name
    • Callback, který z parametrů routy vrátí jednoznačný identifikátor
  6. odstínit RatchetModel (resp. ZMQ\Context v LockControlleru) od kontroly subdomény

Poděkování

Projekt volně navazuje na nedokončený frosty22/ratchet. Děkujeme za inspiraci.


All versions of ratchet with dependencies

PHP Build Version
Package Version
Requires php Version >= 5.3.9
nette/nette Version 2.*
cboden/ratchet Version 0.3.*
react/zmq Version 0.2.*|0.3.*
symfony/http-foundation Version 2.5.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package adt/ratchet contains the following files

Loading the files please wait ....