我想做我自己的帮手,然后把它放在app/http/helpers.php
中。
这是我的帮助代码:
<?php
namespace App\Helpers;
use Auth;
class helper {
public static function is_login() {
if(Auth::check()){
return True;
}else{
return False;
}
}
public static function must_login(){
if(Auth::check()){
return True;
}else{
return Redirect::to('logout');;
}
}
}
?>
这是我的app.php代码:
'aliases' => [
'customhelper'=> App\Helpers\Helper::class
]
当我用于我的刀片文件customhelper::is_login()
时,它可以正常工作。但是,当我尝试在我的控制器customhelper::must_login()
中使用时,它不起作用而且我有一些错误
Class&#39; App \ Http \ Controllers \ customhelper&#39;找不到
答案 0 :(得分:5)
使用与Helper Class名称相同的别名,并将use语句添加到Controller文件中。
例如:
app/Helpers/Helper.php
<?php
namespace App\Helpers;
class Helper{
public static function SayHello()
{
return "SayHello";
}
}
config/app.php
'aliases' => [
/*Defaults...*/
'Helper' => App\Helpers\Helper::class,
],
app/Http/Controllers/MyController.php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Helper; // Important
class MyController extends Controller
{
public function index()
{
return Helper::SayHello();
}
}
答案 1 :(得分:1)
@Reynald Henryleo
首先,您提到了'app/http/helpers.php'
您的帮助文件路径,在这种情况下,您的命名空间应该是'namespace App\Http'
。
为了更好地理解全局帮助函数,请参阅Laravel 5中的&#39;自定义类,Best practices for custom helpers on Laravel 5的简单方法部分