自定义助手:class 未找到。 Laravel 5.1
Custom helper: class not found. Laravel 5.1
我创建了一个自定义的新文件 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);
}
}
并进入 return:
FatalErrorException in OrganisationsController.php:
Class 'App\Http\Controllers\ConnectionsHelper' not found
您需要在控制器中提供命名空间别名。
use App\Http\ConnectionsHelper
自动加载文件并不意味着该文件中的 类 在应用程序的所有其他脚本中都是 required/included。这只是意味着您正在让这些文件 可用 供您的应用程序使用。在这种情况下,您的帮助程序文件已经在默认情况下自动加载的 App
命名空间中,因此您可以完全删除 composer.json 的 files
位。
我创建了一个自定义的新文件 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);
}
}
并进入 return:
FatalErrorException in OrganisationsController.php:
Class 'App\Http\Controllers\ConnectionsHelper' not found
您需要在控制器中提供命名空间别名。
use App\Http\ConnectionsHelper
自动加载文件并不意味着该文件中的 类 在应用程序的所有其他脚本中都是 required/included。这只是意味着您正在让这些文件 可用 供您的应用程序使用。在这种情况下,您的帮助程序文件已经在默认情况下自动加载的 App
命名空间中,因此您可以完全删除 composer.json 的 files
位。