我想创建一个可以被所有控制器调用的函数
public function getSuffix($filename) {
$first_char = substr($filename, 0 ,1);
$sec_char = substr($filename, 1 ,1);
$suffix ="";
if($first_char!='.' && $first_char!='..')
$suffix .= '/'.$first_char.'/';
if($sec_char!='.' && $sec_char!='..')
$suffix .= $sec_char.'/';
return $suffix;
}
这样做的最佳做法是什么?帮帮班是我在寻找什么?
答案 0 :(得分:6)
在app / http文件夹中创建一个helpers.php文件。然后你的composer.json文件自动加载这个文件。
class HttpContextCurrentSessionIdProvider : ICurrentSessionIdProvider
{
// Pull this from a constructor parameter or however you see fit.
private readonly HttpContext _httpContext;
public SessionId => _httpContext.Current.Session.SessionId;
}
然后运行composer dump-autoload你的问题解决了
答案 1 :(得分:1)
首先,您需要在应用程序中创建文件夹,如CustomFolder,并在自定义文件夹中创建帮助程序类,如SimpleClass.php
<?php
namespace App\CustomFolder;
class SimpleClass {
public function yourFunction(){
return true;
}
}
?>
在控制器中使用此辅助类时,可以简单地添加命名空间,如
<?php
use App\CustomFolder\SimpleClass;
class MyController extends Controller{
}
?>
我觉得你的帮助班很完美。
答案 2 :(得分:1)
创建基类
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BaseController extends Controller
{
public function __construct()
{
//do some stuff
}
public function myFunction()
{
}
}
并使用此基类扩展所有类。