• 十个推荐使用的 Laravel 的辅助函数


    Laravel

    Laravel 包含各种全局辅助函数。 laravel 中包含大量辅助函数,您可以使用它们来简化开发工作流程。 在这里,我将编写10个最好的 laravel 帮助函数,用于使我的开发更容易。 您必须考虑在必要时使用它们。

    您还可以查看所有的官方文档 laravel helper functions.

    array_dot()

    array_dot() array_dot() 辅助函数允许你将多维数组转换为使用点符号的一维数组。

    $array = [
        'user' => ['username' => 'something'],
        'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
    ];
    
    $dot_array = array_dot($array);
    
    // [user.username] => something, [app.creator.name] => someone, [app.created] => today
    

    array_get()

    array_get() 函数使用点符号从多维数组中检索值。

    $array = [
        'user' => ['username' => 'something'],
        'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
    ];
    
    $name = array_get($array, 'app.creator.name');
    
    // someone
    

    如果key不存在,array_get() 函数还接受可选的第三个参数作为默认值。

    $name = array_get($array, 'app.created.name', 'anonymous');
    
    // anonymous
    

    public_path()

    public_path() 返回 Laravel 应用程序中公共目录的完全限定的绝对路径。 你还可以将路径传递到公共目录中的文件或目录以获取该资源的绝对路径。 它将简单地将public_path() 添加到你的参数中。

    $public_path = public_path();
    
    $path = public_path('js/app.js');
    

    Str::orderedUuid()

    Str::orderedUuid() 函数首先生成一个时间戳uuid。 这个uuid可以存储在索引数据库列中。 这些uuid是基于时间戳创建的,因此它们会保留你的内容索引。 在Laravel 5.6中使用它时,会引发 RamseyUuidExceptionUnsatisfiedDependencyException。 要解决此问题,只需运行以下命令即可使用 moontoast/math 包::

    composer require "moontoast/math"
    
    use IlluminateSupportStr;
    
    return (string) Str::orderByUuid()
    
    // A timestamp first uuid
    

    str_plural()

    str_plural 函数将字符串转换为复数形式。该功能只支持英文。

    echo str_plural('bank');
    
    // banks
    
    echo str_plural('developer');
    
    // developers
    

    route()

    route() 函数为指定的路由生成路由URL。

    $url = route('login');
    

    如果路由接受参数,你可以简单地将它们作为第二个参数传递给一个数组。

    $url = route('products', ['id' => 1]);
    

    如果你想产生一个相对的URL而不是一个绝对的URL,你可以传递false作为第三个参数。

    $url = route('products', ['id' => 1], false);
    

    tap()

    tap() 函数接受两个参数:一个值和一个闭包。该值将被传递给闭包,然后该值将被返回。闭包返回值无关紧要。

    $user = AppUser::find(1);
    
    return tap($user, function($user) {
        $user->update([
            'name' => 'Random'
        ]);
    });
    

    它不会返回布尔值,而是返回 User Model

    如果你没有传递闭包,你也可以使用 User Model 的任何方法。 无论实际返回的方法如何,返回值都将始终为值。 在下面的例子中,它将返回 User Model 而不是布尔值。 update方法返回布尔值,但由于用了 tap ,所以它将返回 User Model

    $user = AppUser::find(1);
    
    return tap($user)->update([
        'name' => 'SomeName'
    ]);
    

    dump()

    dump() 函数会dump给定的变量,同时也支持同时传入多个变量。这对调试非常有用。

    dump($var1);
    dump($var1, $var2, $var3);
    

    str_slug()

    str_slug() 函数将给定的字符串生成一个 URL 友好的 slug。 你可以使用此功能为帖子或产品标题创建一个 slug。

    $slug = str_slug('Helpers in Laravel', '-');
    
    // helpers-in-laravel
    

    optional()

    optional() 函数接受一个参数,你可以调用参数的方法或访问属性。 如果传递的对象为null,则方法和属性将返回null,而不是导致错误或抛出异常。

    $user = User::find(1);
    
    return optional($user)->name;
    

    转自:https://learnku.com/laravel/t/27673

    --欢迎大家来交流反馈。
  • 相关阅读:
    C# 多线程 弹出模态MessageBox的一种方法
    CentOS 7安装Docker
    CentOS 6 安装Docker
    docker三要素
    openstack_dashboard无法获取nova
    cinder安装与配置
    Dashboard安装与配置
    openstack-neutron安装与配置
    openstack在controller节点使用openstack network agent list不显示计算节点
    nova安装与配置
  • 原文地址:https://www.cnblogs.com/hhyl/p/13488432.html
Copyright © 2020-2023  润新知