reinvanoyen / oak
本包最新版本(1.1.4)没有可用的许可信息。
简单的PHP构建块框架
1.1.4
2020-07-09 14:28 UTC
Requires
- dragonmantank/cron-expression: dev-master
- nyholm/psr7: ^1.0@dev
- nyholm/psr7-server: dev-master
- psr/http-server-handler: ^1.0@dev
- psr/http-server-middleware: ^1.0@dev
- vlucas/phpdotenv: ^4.1@dev
This package is auto-updated.
Last update: 2024-09-08 00:35:00 UTC
README
简单的PHP构建块框架
安装
composer require reinvanoyen/oak
创建应用程序
<?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();
上面的示例仅注册了控制台组件。这是一个简单的例子,因为控制台组件不依赖于其他组件。要运行控制台组件,您需要从应用程序中获取Console\Kernel来处理传入的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) );
要使用HTTP组件(PSR-7 & PSR-15兼容),您还必须注册配置组件...由于配置组件从文件系统中读取配置值,因此您还必须注册文件系统组件
<?php $app->register([ \Oak\Console\ConsoleServiceProvider::class, \Oak\Http\HttpServiceProvider::class, \Oak\Config\ConfigServiceProvider::class, \Oak\Filesystem\FilesystemServiceProvider::class, ]);
使用Http\Kernel处理传入请求的方式如下
<?php use Oak\Contracts\Http\KernelInterface; use Psr\Http\Message\ServerRequestInterface; $app->get(KernelInterface::class)->handle( $app->get(ServerRequestInterface::class) );
配置
<?php $config->set('package', [ 'client_id' => '123', 'client_secret' => 'F1jK4s5mPs9s1_sd1wpalnbs5H1', ]); echo $config->get('package.client_secret'); // F1jK4s5mPs9s1_sd1wpalnbs5H1
配置命令
php oak config clear-cache
php oak config cache
控制台
文档即将推出
容器
文档即将推出
Cookie
示例用法
<?php use Oak\Cookie\Facade\Cookie; Cookie::set('key', 'value'); echo Cookie::get('key'); // value
Cookie配置选项
分发器
<?php use Oak\Dispatcher\Facade\Dispatcher; Dispatcher::addListener('created', function($event) { echo 'Creation happened!'; }); Dispatcher::dispatch('created', new Event());
文件系统
文档即将推出
日志记录器
示例用法
<?php use Oak\Logger\Facade\Logger; Logger::log('This message will be logged');
日志记录器配置选项
会话
示例用法
<?php use Oak\Session\Facade\Session; Session::set('key', 'value'); Session::save(); echo Session::get('key'); // value