簡體   English   中英

Laravel:目標類不存在。 但它確實

[英]Laravel: Target class does not exist. But it does

我已經搜索了答案,但主要問題是課堂或控制器中的拼寫錯誤。

就我而言,一切都拼寫正確。 應用程序\\ HTTP \\控制器\\ GenerateTextController.php:

<?php 
      namespace App\Http\Controllers;

      class generateText extends Controller
      {
           public function generate()
           {
              dd('success');
           }
      }

然后我嘗試將其注入刀片。 home.blade.php

  @inject ('generate', 'App\Http\Controllers\GenerateTextController')
  @dd($generate)

結果:

Target class [App\Http\Controllers\GenerateTextController] does not exist. 

我已經自動加載了幾次作曲家,清除了工匠緩存,沒有任何幫助。 我什至無法在網絡中找到最接近的解決方案。

有趣的事情:當我在另一個類上嘗試dd時,也就是說,怎么說,由 Laravel “預定義” - 它顯示了類。 我的第二個自定義類可以通過這種注入在瀏覽器中查看。

任何幫助表示贊賞。

你的類文件名是app\\Http\\Controllers\\GenerateTextController.php但類名是generateText ,這就是問題所在。 類名和文件名應該匹配。 這就是PSR-4自動加載器的工作原理。

從規范:

終止類名對應於以 .php 結尾的文件名。 文件名必須與終止類名的大小寫相匹配。

所以類名應該是這樣的:

class GenerateTextController extends Controller
{
    // ...
}

閱讀PSR-4自動加載器以了解它。

類文件名應與 PHP 類名相同。

class GenerateTextController extends Controller

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM