当前位置: 首页 > 知识库问答 >
问题:

My Lumen依赖项无法识别API.php中的$router-未定义变量:router

阙辰龙
2023-03-14

我用流明(8.2.3)编写了微服务。

这个微服务有一些路由,似乎都管用。

my-microservice/routes/api.php中,我有:

<?php

use Laravel\Lumen\Routing\Router;

/** @var Router $router */
$router->group(['prefix' => 'api'], function () use ($router) {
    $router->get('/', 'IndexController@index');
    [cut]

现在,这个微服务需要我的外部依赖,而且这个依赖也有一条路由:

<?php

use Laravel\Lumen\Routing\Router;

/** @var Router $router */
$router->group(['prefix' => 'api'], function () use ($router) {
    $router->post('reset-progress', 'ACME\MyExternalPackage\Http\Controllers\ResetProgressController@resetProgress');
});

现在,只要它通过composer成功安装并添加到bootstrap/app.php中:

$app->register(ACME\MyExternalPackage\Providers\ResetProgressServiceProvider::class);

然后输入php artisanget:

$php工匠

在API.PHP第6行中:

定义变量:router

第6行指向:

<?php

use Laravel\Lumen\Routing\Router;

/** @var Router $router */
$router->group(['prefix' => 'api'], function () use ($router) { <----- this is line 6 in vendor
    $router->post('reset-progress', 'OWD\ChanginghealthResetProgress\Http\Controllers\ResetProgressController@resetProgress');
});

当我在bootstrap\app.php中注释这个注册行时,它会再次工作。我做错了什么?在我的phpstorm中,名称空间是一致的和“可点击的”。

我的供应商包在composer.json

"require": {
    "laravel/lumen-framework": "^8"
},

共有1个答案

邹开畅
2023-03-14

在您的bootstrap/app/php文件中,在文件的底部,您有以下代码:

$app->router->group([
    'namespace' => 'App\Http\Controllers',
], function ($router) {
    require __DIR__.'/../routes/web.php';
});

return $app;

您需要在web.php下面注册api.php文件

 类似资料:
  • 我在IntellijIDEA中有一个项目是用Maven创建的。然后我在pom.xml文件中指定了一组依赖项和外部存储库。 如果我执行“mvn install”,那么项目在命令行上构建得很好。但是,当我打开IDE中的任何代码文件时,它会说Maven依赖项处理的所有类都无法识别--如果我从未将所需的JAR添加到构建路径中,这对于一个正常的项目来说是一样的。 我知道在我的Eclipse Maven项目(

  • null 附注:Maven-Build是成功的。因此,Maven正在识别存储库中的包。

  • 我想创建一个.xlsx工作簿。按照教程中的说明和其他Stackoverflow问题(如以下所示) 无法在Apache POI中导入XSSF

  • 问题内容: 实际上,我的项目有单元测试。所有这些都在最近配置中。我需要在中添加检测测试。为此,我在中添加了espresso依赖项。 之后,我选择了Build Variants-> Test Artifact-> Android Instrumentation Tests。 但是,当我开始编码时,没有一个依赖项被识别: “无法解析符号onView”,“无法解析符号ViewInteraction”等…

  • 实际上,我的项目有单元测试。它们都是在< code>/src/test/java/中配置的。最近我需要在< code >/src/androidTest/Java 中添加插装测试。为此,我在< code>build.gradle中添加了espresso依赖项。 之后,我选择了构建变体- 但是当我开始编码时,没有一个依赖项被识别出来: “无法解析符号 onView”、“无法解析符号视图交互”等...

  • 问题内容: 今天,我将本地Glassfish服务器升级到3.1.1,以准备将公司的服务器升级到相同版本。我正在尝试将我的Web服务项目转换为与新服务器兼容,并且遇到了障碍。 在我耳朵的pom文件中,我以前将webapp和ejb都列为依赖项。在webapp的pom中,我也将ejb列为依赖项。尝试将此配置部署到Glassfish 3.1.1时,出现以下错误: 部署期间发生错误:部署应用程序时发生异常[