tallieutallieu/oak
最新稳定版本:3.0.11
Composer 安装命令:
composer require tallieutallieu/oak
包简介
Simple PHP building block framework
README 文档
README
Simple PHP building blocks framework
- Config
- Console
- Container
- Dispatcher
- Filesystem
- Logger
- Scheduler
- Session
Install
composer require tallieutallieu/oak
Creating an application
<?php $app = new \Oak\Application( __DIR__.'/../', // The path to your .env file __DIR__.'/../config/', // The path to your config files __DIR__.'/../cache/' // The path where the application can write cache to ); $app->register([ \Oak\Console\ConsoleServiceProvider::class, ]); $app->bootstrap();
The example above only registers the Console component. This is an easy example since the Console component doesn't depend on any other components. To run the Console component, you'll have to get the Console\Kernel from your application handle the incoming Input:
<?php use Oak\Contracts\Console\InputInterface; use Oak\Contracts\Console\OutputInterface; use Oak\Contracts\Console\KernelInterface; $app->get(KernelInterface::class)->handle( $app->get(InputInterface::class), $app->get(OutputInterface::class) );
To use the HTTP component (PSR-7 & PSR-15 compliant) you'll also have to register the Config component...and since the Config component reads configuration values from the filesystem, you'll also have to register the Filesystem component:
<?php $app->register([ \Oak\Console\ConsoleServiceProvider::class, \Oak\Http\HttpServiceProvider::class, \Oak\Config\ConfigServiceProvider::class, \Oak\Filesystem\FilesystemServiceProvider::class, ]);
Handling an incoming request with the Http\Kernel goes as follows:
<?php use Oak\Contracts\Http\KernelInterface; use Psr\Http\Message\ServerRequestInterface; $app->get(KernelInterface::class)->handle( $app->get(ServerRequestInterface::class) );
Config
<?php $config->set('package', [ 'client_id' => '123', 'client_secret' => 'F1jK4s5mPs9s1_sd1wpalnbs5H1', ]); echo $config->get('package.client_secret'); // F1jK4s5mPs9s1_sd1wpalnbs5H1
Config commands
php oak config clear-cache
php oak config cache
Console
Documentation coming soon
Container
Documentation coming soon
Cookie
Example usage
<?php use Oak\Cookie\Facade\Cookie; Cookie::set('key', 'value'); echo Cookie::get('key'); // value
Cookie config options
| Name | Default |
|---|---|
| path | / |
| secure | false |
| http_only | true |
Dispatcher
<?php use Oak\Dispatcher\Facade\Dispatcher; Dispatcher::addListener('created', function($event) { echo 'Creation happened!'; }); Dispatcher::dispatch('created', new Event());
Filesystem
Documentation coming soon
Logger
Example usage
<?php use Oak\Logger\Facade\Logger; Logger::log('This message will be logged');
Logger config options
| Name | Default |
|---|---|
| filename | logs/log.txt |
| date_format | d/m/Y H:i |
Session
Example usage
<?php use Oak\Session\Facade\Session; Session::set('key', 'value'); Session::save(); echo Session::get('key'); // value
Session config options
| Name | Default |
|---|---|
| handler | \Oak\Session\FileSessionHandler |
| path | sessions |
| name | app |
| cookie_prefix | session |
| identifier_length | 40 |
| lottery | 200 |
| max_lifetime | 1000 |
统计信息
- 总下载量: 977
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 18
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2021-03-24
