ibnsultan / mimosa
一个极简的 PHP+reactJS 组合
v0.1.1
2024-03-06 14:46 UTC
Requires
- ibnsultan/whoops: dev-master
- illuminate/database: ^10.47
- jenssegers/blade: ^2.0
- leafs/router: ^0.2.3
- vlucas/phpdotenv: ^5.6
README
一个极简的 php + reactJS 框架
它旨在无缝集成 PHP 和 ReactJS,无需在前后端层之间完全分离。
composer create-project ibnsultan/mimosa YOUR_PROJECT_NAME
结构
📁 project/
├── 📁 app/
| ├── 📁 console/
│ ├── 📁 controllers/
│ ├── 📁 lib/
│ ├── 📁 routes/
│ ├── 📁 views/
│ │ ├── 📁 ScreenName/
│ │ └── 📁 Layouts/
│ └── 🐘 Controller.php
├── 📁 config/
├── 📁 public/
│ └── 📄 index.php
├── 📁 vendor/
├── ⚙️ .env
├── ⚙️ .htaccess
├── 📎 composer.json
├── 🐘 index.php
└── 📄 mimic
功能
- 异常和错误处理
- HTTP 工具(路由、响应、请求)
- 自动加载
- 授权 & 验证(Beta)
- 登录和注册
- 基于会话的验证
- 基于令牌的验证(用于 API 请求)
- 密码重置实现
- 数据库
- 模型
- 迁移
基本用法
Mimosa 由于其简洁和极简的设计,使用起来非常简单,它已经内置了一些基本组件,例如路由、处理和渲染请求和响应的方式
路由
所有路由都预加载在 app/routes
目录中,因此定义在路由中的任何文件都会自动加载到您的应用程序中
基本路由
app->get('/', function(){ echo 'hello world!'; });
使用类的路由
app->get('/', 'MyController@index');
响应
标记
response()->markup('<h1>Hello</h1>');
JSON
response()->json([ 'status' => 'success', 'data' => 'Hello', ]);
带有头信息
response()->withHeader('key', 'value')->json([ 'status' => 'success', 'data' => 'Hello', ]);
其他方法
响应还提供了其他方法,如 plain
、xml
、page
、download
等,请参阅 wiki 部分
请求
请求对象提供了一个接口,用于访问和操作当前由您的应用程序处理的 HTTP 请求,以及检索与请求一起提交的输入、cookie 和文件。
request()->get('key');
请求方法在请求中与所有请求方法一起工作,无论是 get、post 还是文件,它甚至可以一次获取多个值,或者在值为 null 时补充默认值。
多个
$data = request()->get(['username', 'password']); // results: array( 'username' => 'value', 'password' => 'value' )
其他请求方法包括 file
、param
、try
、rawData
等
文档
更多内容将在仍在准备中的文档部分中介绍,请关注 wiki 部分
贡献
意见、建议、拉取请求以及任何有价值的东西