在laravel 5中找不到助手类

Aym*_*ein 1 php laravel laravel-4 laravel-5

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

amchelpers.php代码:

<?php namespace App;

   class AmcHelper {
      static function displayString($string){
          return $string;
      }
  }
Run Code Online (Sandbox Code Playgroud)

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

"files": [
       "app/Helpers/amchelpers.php"
    ]
Run Code Online (Sandbox Code Playgroud)

然后运行此命令:

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

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

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

use Helper;

class UserController extends Controller {
   public function displayMyString(){  
         echo Helper::displayString('Hello');
   }
}
Run Code Online (Sandbox Code Playgroud)

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

我有:

ErrorException in compiled.php line 6367: Class 'C:\wamp\www\easy_marketing\app\Helpers\AmcHelper' not found
Run Code Online (Sandbox Code Playgroud)

Ana*_*tel 6

你写的user Helper而不是use Helper

要么

实现这一目标的另一种方法是

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

所以目录结构是App - > Helpers

所以你的名字空间必须包括App\Helpers

尝试以下代码

<?php namespace App\Helpers;

   class AmcHelper {
      static function displayString($string){
          return $string;
      }
  }
Run Code Online (Sandbox Code Playgroud)

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

use App\Helpers\AmcHelper as Helper;


class UserController extends Controller {
   public function displayMyString(){  
         echo Helper::displayString('Hello');
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 您必须编写“将App \ Helpers \ AmcHelper用作助手” (2认同)