alisa / framework

开发阿里萨技能框架。

安装: 5

依赖: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:项目

2.0.6 2024-07-04 09:30 UTC

This package is auto-updated.

Last update: 2024-09-04 09:51:07 UTC


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