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
- Host: GitHub
- URL: https://github.com/labrador-kennel/core
- Owner: labrador-kennel
- License: mit
- Created: 2014-05-16T02:39:32.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2022-03-22T23:49:24.000Z (almost 4 years ago)
- Last Synced: 2025-10-11T00:29:41.787Z (4 months ago)
- Topics: amphp, labrador-kennel, php7
- Language: PHP
- Homepage: https://labrador-kennel.io/docs/core
- Size: 2.46 MB
- Stars: 12
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Labrador Core
[](https://github.com/labrador-kennel/core/actions?query=workflow%3A%22PHP+Unit+Testing+%26+Code+Lint%22)
[](https://github.com/cspray/labrador/releases/latest)
[](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)