[英]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.