在非类帮助文件中添加 Laravel 依赖项

Posted

技术标签:

【中文标题】在非类帮助文件中添加 Laravel 依赖项【英文标题】:Adding Laravel dependency in non-class helper files 【发布时间】:2020-10-10 09:05:11 【问题描述】:

我最近将项目中的 Laravel 版本升级到了 6.x。

现在我知道 helpers 类已从 Laravel 6.0 版本中删除。

但无论如何我需要保留 [root-dir]/helpers.php 文件,它是面向函数的、包含通用帮助函数的非类文件。

在该文件中,我需要将所有以str_ 开头的自定义函数(如str_contains)替换为Illumimnate\Support\Str 对应的Str::contains。例如:

if(!function_exists('is_bot'))

    /**
     * userAgent is the user-agent header
     * from the request object
     * @param $userAgent
     * @return bool
     */
    function is_bot($userAgent)
    
        return str_contains($userAgent, config('bot_check'));
    

我该怎么做?

【问题讨论】:

【参考方案1】:

由于有人抱怨他们而移除了助手,但他们将其移到了新包中 https://github.com/laravel/helpers

链接到 laravel 的拉取请求 https://github.com/laravel/framework/pull/26898

【讨论】:

【参考方案2】:

您只能在类文件中使用namespaceuse。您可以将您的 helpers.php 文件转换为这样的类:

<?php

namespace App;

use Illuminate\Support\Str;

class Helper

    public static function is_bot($userAgent)
    
        return Str::contains($userAgent, config('bot_check'));
    

并使用\App\Helper::is_bot($userAgent) 在您的 Laravel 应用程序中调用 is_bot 函数。

【讨论】:

以上是关于在非类帮助文件中添加 Laravel 依赖项的主要内容,如果未能解决你的问题,请参考以下文章

向 Android Cordova 插件添加依赖项

在作曲家 laravel 上安装依赖项(doctrine/dbal)

Maven 不复制依赖项

.txt 到向量 <string>,非类类型错误

Netbeans:pom 类型的 Maven 依赖项

sh Laravel:安装默认依赖项并添加字体很棒