【问题标题】:Custom helper: class not found. Laravel 5.1自定义助手:找不到类。拉拉维尔 5.1
【发布时间】:2016-02-19 06:15:27
【问题描述】:

我创建了一个自定义的新文件 app/Http/Helpers.php 并添加了:

<?php

namespace app\Http;

class ConnectionsHelper {

    public static function organisation($id) {
       return 'ID:'.$id;
   }
}

在 Composer.json 中,在我添加的自动加载块中:

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

然后我运行“composer dump-autoload”。

我的控制器:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class myController extends Controller
{
    public function index()
    {
        echo ConnectionsHelper::organisation(2);
    }
}

并得到回报:

FatalErrorException in OrganisationsController.php:
Class 'App\Http\Controllers\ConnectionsHelper' not found

【问题讨论】:

    标签: php laravel-5.1 helper


    【解决方案1】:

    您需要在控制器中提供命名空间别名。

    use App\Http\ConnectionsHelper
    

    自动加载文件并不意味着该文件中的类必须/包含在应用程序的所有其他脚本中。这只是意味着您正在使这些文件对您的应用可用。在这种情况下,您的帮助文件已经在默认自动加载的 App 命名空间中,因此您可以完全删除 composer.json 的 files 位。

    【讨论】:

      猜你喜欢
      • 2019-12-25
      • 1970-01-01
      • 2015-03-04
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 2014-09-18
      • 2015-07-07
      相关资源
      最近更新 更多