在 laravel 5 中找不到助手类

Posted

技术标签:

【中文标题】在 laravel 5 中找不到助手类【英文标题】:helper class not found in laravel 5 【发布时间】:2015-05-30 05:42:32 【问题描述】:

我在 app 中创建了 Helpers 文件夹,然后我创建了 php 文件 amchelpers.php ---> app/Helpers/amchelpers.php

amchelpers.php 代码:

<?php namespace App;

   class AmcHelper 
      static function displayString($string)
          return $string;
      
  

然后将这些行添加到 composer.json

"files": [
       "app/Helpers/amchelpers.php"
    ]

然后运行这个命令:

composer dump-autoload

然后添加 'Helper' => app_path() 。 '\Helpers\AmcHelper' 到 config/app.php 文件中的别名数组。

在我的控制器中,我有以下操作(此操作在 route.php 中定义):

use Helper;

class UserController extends Controller 
   public function displayMyString()  
         echo Helper::displayString('Hello');
   

当运行页面http://localhost:8080/easy_marketing/public/displayMyString

我知道了:

ErrorException in compiled.php line 6367: Class 'C:\wamp\www\easy_marketing\app\Helpers\AmcHelper' not found

【问题讨论】:

【参考方案1】:

你写的是user Helper而不是use Helper

实现此目的的另一种方法是

Laravel 5 App 目录默认自动加载其文件夹,你需要注意的是添加命名空间后跟目录名称,

所以目录结构是App --> Helpers

所以您的名称空间必须包含 App\Helpers

试试下面的代码

<?php namespace App\Helpers;

   class AmcHelper 
      static function displayString($string)
          return $string;
      
  

当你在另一个类中使用这个类时,在命名空间声明之后写下这个

use App\Helpers\AmcHelper as Helper;


class UserController extends Controller 
   public function displayMyString()  
         echo Helper::displayString('Hello');
   

【讨论】:

得到:找不到类 'App\Http\Controllers\users\Helper' 你必须写use App\Helpers\AmcHelper as Helper

以上是关于在 laravel 5 中找不到助手类的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 5.2 中找不到类“Html”

在 laravel 5.4 中找不到类“Illuminate\Foundation\Application”

在 laravel 5.6 中找不到 Trait 'App\HasRoles' 错误

在 Laravel 5 中找不到用户类

laravel 在 php 5.5 中找不到 mcrypt 扩展

在 laravel 5 中找不到类控制器