此包的最新版本(1.1.8)没有可用的许可证信息。

简单的PHP构建块框架

1.1.8 2024-04-30 09:55 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
会话配置选项