boxphp/core

BoxPHP Core - Config, Container, Event, Logger, Middleware

Maintainers

Package info

github.com/tvjojo/boxphp-core

pkg:composer/boxphp/core

Statistics

Installs: 0

Dependents: 6

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.0 2026-06-27 14:10 UTC

This package is auto-updated.

Last update: 2026-06-27 16:58:23 UTC


README

BoxPHP 核心包 - 提供框架基础组件

安装

composer require boxphp/core

组件

Config 配置管理

use BoxPHP\Core\Config\ConfigRepository;

$config = new ConfigRepository();
$config->set('app.name', 'My App');
echo $config->get('app.name'); // My App

Container 依赖注入

use BoxPHP\Core\Container\Container;

$container = new Container();
$container->bind('db', fn() => new PDO(...));
$container->singleton('logger', fn() => new Logger());

$db = $container->make('db');

Event 事件系统

use BoxPHP\Core\Event\EventDispatcher;

$events = new EventDispatcher();
$events->on('user.created', function ($user) {
    echo "User created: {$user['name']}";
});
$events->emit('user.created', ['name' => 'John']);

Logger 日志

use BoxPHP\Core\Logger\FileLogger;

$logger = new FileLogger('/path/to/logs', 'app', 'debug');
$logger->info('User logged in', ['user_id' => 123]);
$logger->error('Something went wrong');

Middleware 中间件管道

use BoxPHP\Core\Middleware\Pipeline;
use BoxPHP\Core\Middleware\MiddlewareInterface;

class MyMiddleware implements MiddlewareInterface {
    public function handle(mixed $request, callable $next): mixed {
        // 前置处理
        $response = $next($request);
        // 后置处理
        return $response;
    }
}

$pipeline = new Pipeline();
$pipeline->pipe(new MyMiddleware());
$result = $pipeline->run($request, fn($req) => 'response');

依赖

  • PHP >= 8.1
  • psr/container ^2.0
  • psr/event-dispatcher ^1.0
  • psr/log ^3.0