An open API service indexing awesome lists of open source software.

https://github.com/labrador-kennel/core

A foundation for building async applications on top of amphp
https://github.com/labrador-kennel/core

amphp labrador-kennel php7

Last synced: about 1 month ago
JSON representation

A foundation for building async applications on top of amphp

Awesome Lists containing this project

README

          

# Labrador Core

[![PHP Unit Testing & Code Lint](https://github.com/labrador-kennel/core/workflows/PHP%20Unit%20Testing%20&%20Code%20Lint/badge.svg)](https://github.com/labrador-kennel/core/actions?query=workflow%3A%22PHP+Unit+Testing+%26+Code+Lint%22)
[![GitHub release](https://img.shields.io/github/release/labrador-kennel/core.svg?style=flat-square)](https://github.com/cspray/labrador/releases/latest)
[![GitHub license](https://img.shields.io/github/license/labrador-kennel/core.svg?style=flat-square)](http://opensource.org/licenses/MIT)

An opinionated, asynchronous micro-framework written on top of [amphp](https://amphp.org). Built using SOLID principles,
unit testing, and a modular ecosystem Labrador aims to be a production-ready framework for creating asynchronous PHP
applications. Labrador Core serves as the foundation for this framework and provides important key concepts for building
apps with Labrador.

## Installation

[Composer](https://getcomposer.org) is the only supported method for installing Labrador packages.

```
composer require cspray/labrador
```

## Quick Start

If you'd rather get started quickly without having to read a bunch of documentation the code below demonstrates how to
quickly get an `Application` implemented and running. Otherwise, we recommend checking out the Documentation for more
detailed information, and a complete guide to getting started.

```php
logger->info('Hello Labrador!');
});
}

}

$environment = new StandardEnvironment(EnvironmentType::Development());
$logger = new Logger('labrador.hello-world', [new StreamHandler(getStdout())]);

$injector = (new HelloWorldApplicationObjectGraph($environment, $logger))->wireObjectGraph();

$app = $injector->make(HelloWorldApplication::class);
$engine = $injector->make(Engine::class);

$engine->run($app);
```

## Documentation

Labrador packages have thorough documentation in-repo in the `docs/` directory. You can also check out the
documentation online at [https://labrador-kennel.io/docs/core](https://labrador-kennel.io/docs/core).

## Governance

All Labrador packages adhere to the rules laid out in the [Labrador Governance repo](https://github.com/labrador-kennel/governance)