jhonoryza / bandung-framework
小型PHP框架
dev-main
2024-02-17 04:07 UTC
Requires
- php: ^8.2
- larapack/dd: ^1.1
- laravel/prompts: ^0.1.15
Requires (Dev)
- illuminate/testing: ^10.0
- phpstan/phpstan: 1.10
- phpunit/phpunit: ^10.2
This package is auto-updated.
Last update: 2024-09-17 05:32:29 UTC
README
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
安装完成后,你的项目中将会有几个文件
app/
目录,使用此文件夹来放置类控制器和命令,框架将扫描此文件夹public/index.php
这是你的Web应用的入口点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)。有关更多信息,请参阅许可证文件。