lark / app
Lark 应用程序
0.25.0
2023-05-18 14:24 UTC
Requires
- lark/framework: ^0.25.0
README
Lark 是一个现代、轻量级的应用程序框架,专门设计用于开发 REST API。
安装
创建项目目录并移动到项目目录
mkdir myapp
cd myapp
使用 composer 安装
composer create-project lark/app ./
然后,初始化项目
./lark --init
控制台
Lark 控制台可用于协助创建路由、模式、模型和修订。Lark 控制台可以从项目根目录运行。
./lark route items
也可以使用命名空间。
./lark route api/items
使用
./lark
或./lark help
查看所有命令。使用./lark help COMMAND
查看特定命令的帮助信息。
中间件
在 app/Middleware
目录中创建中间件文件。
示例中间件类
namespace App\Middleware; use Lark\Request; use Lark\Response; class UserMiddleware { public function auth(Request $req, Response $res): void { // auth here } }
对于此示例,中间件可以在 app/routes.php
中设置,如下所示:
router()->matched([App\Middleware\UserMiddleware::class, "auth"]);
请阅读关于中间件的 框架文档。
应用程序类
#todo 关于应用程序类属性和方法的文档
MVC 应用程序
Lark 可以使用 MVC 应用程序中常见的控制器。在 app/Controller
目录中创建控制器文件并扩展基本 App\Controller
类。
示例基本控制器类 app/Controller.php
namespace App; use Lark\Response; abstract class Controller { protected Response $res; public function __construct() { $this->res = res(); } }
示例控制器类 app/Controller/ItemsController.php
namespace App\Controller; use App\Model\Item as ItemModel; class ItemsController extends \App\Controller { private ItemModel $model; public function __construct() { $this->model = new ItemModel; } public function get(): void { $this->res->json( $this->model->find() ); } }
对于此示例,可以在 app/routes.php
中设置路由,如下所示:
router()->get("/items", [App\Controller\ItemsController::class, "get"]);
请阅读关于路由操作的 框架文档。
自定义验证规则
自定义验证规则应在 app/Validator
目录中创建,例如 app/Validator/MyRule.php
。
请阅读关于自定义验证规则的 框架文档。