【问题标题】:Using the tinker function in laravel在 laravel 中使用 tinker 函数
【发布时间】:2021-02-17 04:41:36
【问题描述】:

我在 laravel 中使用 tinker 函数,但是当我输入以下内容时:

>>>user App\PostController;
>>>PostController::get();

我收到以下错误:

PHP Fatal error:  Class 'App/PostController' not found in Psy Shell code on line 1

我该如何解决这个问题?

【问题讨论】:

  • 您不能像从tinker 那样调用controller。你想做什么?
  • 您尝试composer dump-autoload 清除缓存了吗?

标签: laravel homestead tinker


【解决方案1】:

您可以使用以下内容:

$controller = app()->make(App\Http\Controllers\PostController::class);

app()->call([$controller, 'get']);

如果你想给方法传递参数:

$controller = app()->make(App\Http\Controllers\PostController::class);

app()->call([$controller, 'get'], ['test' => 123]);

【讨论】:

    【解决方案2】:

    控制器位于 App\Http\Controllers 命名空间下 试试use App\Http\Controllers\PostController

    【讨论】:

    • @GinoSesia 您是否仔细检查了文件中的类名、名称空间等?您是否尝试过在测试路线中使用该类及其方法并查看它是否有效?有时做 composer dump-autoload 可能会有所帮助。尝试一下,如果有帮助,请告诉我
    猜你喜欢
    • 2020-12-28
    • 2017-12-01
    • 2018-07-03
    • 2021-02-08
    • 2020-12-03
    • 2020-04-24
    • 1970-01-01
    • 2021-01-05
    • 2020-10-27
    相关资源
    最近更新 更多