ibnsultan/mimosa

一个极简的 PHP+reactJS 组合

v0.1.1 2024-03-06 14:46 UTC

This package is auto-updated.

Last update: 2024-09-11 17:28:33 UTC


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',
]);

其他方法

响应还提供了其他方法,如 plainxmlpagedownload 等,请参阅 wiki 部分

请求

请求对象提供了一个接口,用于访问和操作当前由您的应用程序处理的 HTTP 请求,以及检索与请求一起提交的输入、cookie 和文件。

request()->get('key');

请求方法在请求中与所有请求方法一起工作,无论是 get、post 还是文件,它甚至可以一次获取多个值,或者在值为 null 时补充默认值。

多个

$data = request()->get(['username', 'password']);

// results: array( 'username' => 'value', 'password' => 'value' )

其他请求方法包括 fileparamtryrawData

文档

更多内容将在仍在准备中的文档部分中介绍,请关注 wiki 部分

贡献

意见、建议、拉取请求以及任何有价值的东西