我在我的助手中使用 str 类,如下所示,没有导入外观,它工作正常,没有抛出任何错误。我感觉有点奇怪它是如何工作的,谁能解释一下。
if(!function_exists('testHelper')){
function testHelper($string){
$numbers = Str::replace(['(',')','-',' '],'',$string);
return $numbers;
}
}
如果不需要为str类显式导入facade,那么它为什么在引导的文件中工作。谢谢advnace!!
Laravel 的 Facade 和一些类被注册为别名。
无需导入即可使用,仅在全局范围中使用。
刀片视图、配置文件、自定义助手等
// blade
{{ Str::replace() }}
// controller
use Illuminate\Support\Str;
Str::replace();
// or (not recommended)
\Str::replace();
https://github.com/laravel/framework/blob/11.x/src/Illuminate/Foundation/AliasLoader.php