Laravel配置公共函数
问题
开发过程中总是会写一些与业务无关的公共函数,要让这些函数方便地在任何地方使用还需要配置下。
网上搜了一下解决方案,都是利用了autoload功能,这种方法配置后还要使用命令行composer dump-autoload去使其生效,在使用时还要引入函数,比如use App\xxx\foo,每个函数都要use,很麻烦。
更好的解决方案
在stackoverflow上找到了一个我认为更好的解决方案,不需要用命令行,而且更OOP。
步骤:
- 在
App目录下创建一个Common文件夹。 - 在
Common目录下创建一个Helper.php文件,所有的公共函数都写在这里,并定义为静态函数。
<?php
namespace App\Common;
class Helper
{
static public function foo(): string
{
return 'hello';
}
}
- 在需要使用的地方引入
Helper。
use App\Common\Helper;
愉快地使用吧!
$str = Helper::foo();
原答案提到要在config/app.php中注册别名,这样只是为了方便use,比如可以直接use Helper,而不需要引入名称空间。但是这样对IDE代码提示不友好,所以个人不建议用别名。
参考资料
https://stackoverflow.com/a/44022161