TallieuTallieu/ oak
此包的最新版本(1.1.8)没有可用的许可证信息。
简单的PHP构建块框架
1.1.8
2024-04-30 09:55 UTC
Requires
- dragonmantank/cron-expression: 3.0.2
- nyholm/psr7: ^1.0@dev
- nyholm/psr7-server: 1.0.2
- psr/http-server-handler: ^1.0@dev
- psr/http-server-middleware: ^1.0@dev
- vlucas/phpdotenv: ^4.1@dev
- dev-master
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1
- 1.0.13
- 1.0.12
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-feature/database
- dev-dev
- dev-feature/filesystem-disks
- dev-feature/scheduler
- dev-feature/http
- dev-feature/migration
- dev-improvement/security
- dev-session-bugfix
This package is auto-updated.
Last update: 2024-09-30 11:04:40 UTC
README
简单的PHP构建块框架
安装
composer require tallieutallieu/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来处理传入的输入
<?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