alisa / framework
开发阿里萨技能框架。
2.0.6
2024-07-04 09:30 UTC
Requires
- alisa/alisa: ^2.0
- illuminate/database: ^11.14
- illuminate/events: ^11.14
- laravel/serializable-closure: ^1.3
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- symfony/var-dumper: ^7.1
README
这是一个用于开发语音助手阿里萨技能的框架。
该框架包含快速启动的基本项目结构,并且支持直接使用Eloquent数据库。
描述
路由
路由用于处理对话的输入请求。
位于routes
文件夹中。
在config/routes.php
文件中注册额外的路由文件。
注意
注册文件时,请记住事件优先级。
// config/routes.php return [ 'main', // файл main.php 'foo/bar/baz', // папка foo, подпапка bar и файл с роутами baz.php ];
// routes/main.php /** @var \Alisa\Alisa $alisa */ $alisa->onStart([\App\Controllers\HamsterController::class, 'start']); $alisa->onAny([\App\Controllers\HamsterController::class, 'any']);
控制器
控制器是处理输入请求的处理程序。
它们可以是函数或类的形式。
类位于路径app/Controllers
,函数在routes
中声明。
// routes/main.php $alisa->onStart([\App\Controllers\HamsterController::class, 'start']); ... // app/Controllers/HamsterController namespace App\Controllers; use Alisa\Context; class HamsterController { public function start(Context $context) { // } }
// routes/main.php $alisa->onStart(function (Context $context) { // });
中间件
位于app/Middlewares
文件夹中,可以是类或函数的形式。
namespace App\Middlewares; use Alisa\Context; class LoggerMiddleware { public function __invoke(Context $context, $next) { $next($context); } }
$alisa->onStart([\App\Controllers\HamsterController::class, 'start'])->middleware(LoggerMiddleware::class);
$alisa ->onCommand('foo') ->middleware(function (Context $context, $next) { $next($context); });
README WIP