Str 在 laravel 8 中无需导入外观即可工作

问题描述 投票:0回答:1

我在我的助手中使用 str 类,如下所示,没有导入外观,它工作正常,没有抛出任何错误。我感觉有点奇怪它是如何工作的,谁能解释一下。

if(!function_exists('testHelper')){
    function testHelper($string){
        $numbers = Str::replace(['(',')','-',' '],'',$string);
        return $numbers;
    }
}

如果不需要为str类显式导入facade,那么它为什么在引导的文件中工作。谢谢advnace!!

laravel string laravel-8
1个回答
0
投票

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

https://www.php.net/manual/en/function.class-alias.php

© www.soinside.com 2019 - 2024. All rights reserved.