jhonoryza/bandung-framework

dev-main 2024-02-17 04:07 UTC

This package is auto-updated.

Last update: 2024-09-17 05:32:29 UTC


README

Total Downloads Latest Stable Version License

Bandung 框架

小型PHP框架

框架目录

  • app 目录是框架的游乐场
  • src 目录是框架的核心
  • public 目录下的 index.php 在处理网络请求时会被调用
  • bandung 文件在运行控制台命令时会被调用
  • tests 目录存放框架的测试代码

特性

  • 路由
  • 请求
  • 响应
  • 控制台命令

进行中

  • 查询构建器
  • 迁移
  • 队列
  • 文件系统
  • 邮件
  • 通知
  • 事件和监听器

入门指南

创建空项目

mkdir myapp
cd myapp
composer init

安装

composer require jhonoryza/bandung-framework
cp vendor/jhonoryza/bandung-framework/bandung .
php bandung install

安装完成后,你的项目中将会有几个文件

  1. app/ 目录,使用此文件夹来放置类控制器和命令,框架将扫描此文件夹
  2. public/index.php 这是你的Web应用的入口点
  3. bandung 这是你的控制台命令的入口点

创建一个简单的端点

在app目录中,你可以创建一个类,比如 HomeController,然后

创建一个路由 //posts/posts/{id}

    #[Get(uri: '/')]
    public function index(): ResponseInterface
    {
        return Response::make(HttpHeader::HTTP_200, 'Hello world!');
    }

    #[Get(uri: '/posts')]
    public function posts(): ResponseInterface
    {
        return JsonResponse::make(HttpHeader::HTTP_200, [
            'message' => 'ok'
        ]);
    }

    #[Get(uri: '/posts/{id}')]
    public function postDetail(string $id): ResponseInterface
    {
        return JsonResponse::make(HttpHeader::HTTP_200, [
            'message' => 'ok',
            'id' => $id
        ]);
    }

属性 #[Get('/')] 将此函数标记为路由 /

运行 php bandung serve,然后在浏览器中打开 http://127.0.0.1:8000

获取环境变量

$appName = getenv('APP_NAME');
echo $appName;

控制台命令

你可以这样运行 php bandung,这将打印所有可用的命令

创建自定义命令

在app目录中,你可以创建一个类,比如 CommandClass,然后

创建一个函数 testWarning

    #[Command('test:warning')]
    public function testWarning(): void
    {
        warning('testing warning ok');
    }

属性 #[Command('test:warning')] 将此函数标记为名为 test:warning 的命令

您可以从终端调用它:php bandung test:warning

测试

./vendor/bin/phpunit

安全性

如果您发现有关安全性的问题,请发送邮件至 jardik.oryza@gmail.com,而不是使用问题跟踪器。

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件。