我在Laravel文档中看到了创建访问器的示例,但我不理解"get"单词后面的冒号的含义:

链接到页面:https://laravel.com/docs/9.x/eloquent-mutators#defining-an-accessor

<?php
 
namespace App\Models;
 
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
 
class User extends Model
{
    /**
     * Get the user's first name.
     *
     * @return \Illuminate\Database\Eloquent\Casts\Attribute
     */
    protected function firstName(): Attribute
    {
        return Attribute::make(
            get: fn ($value) => ucfirst($value),
        );
    }
}

推荐答案

PHP 8中引入了命名参数(或命名参数).当方法有许多参数和/或我们不记得参数的顺序时,它们会有所帮助.

假设我们有以下setcookie个函数

setcookie ( 
    string $name, 
    string $value = "", 
    int $expires = 0, 
    string $path = "", 
    string $domain = "", 
    bool $secure = false, 
    bool $httponly = false,
) : bool

我们需要使用这个函数来设置名称和过期时间.如果我们不记得参数的顺序,这就成了一个问题,可能会产生不想要的结果.即使我们记住或查找参数的顺序,如果没有命名参数,我们也会将其用作

//Without named arguments
setcookie('Test', '', 100);

使用命名参数,我们可以按如下方式执行

setcookie(name:'Test', expires:100);

基本上,使用命名参数的语法是

functionName(argumentName: value, anotherArgumentName: value);

希望这能帮助你理解为什么在get之后使用:

进一步阅读:

https://stitcher.io/blog/php-8-named-arguments

https://www.php.net/manual/en/functions.arguments.php#:~:text=Named%20arguments%20allow%20passing%20arguments,allows%20skipping%20default%20values%20arbitrarily.

Php相关问答推荐

在不刷新页面的情况下无法使用JQuery更新id

Laravel有一个具有两个匹配字段

Laravel:启动下载并同时在Blade 中显示Flash消息

一列必须指定多个变量的Laravel查询

如何减少Laravel分页中的链接数

Htaccess-重写对&api.php";的API请求以及对";web.php";的其他请求

在WooCommerce中的本地收件发货方式下添加一个 Select 字段

在WooCommerce管理中 for each 运输方法设置添加自定义字段

如何将LARAVEL模块路径和项目路径合并,因为当我使用模块路径时,它们会覆盖项目路径

HTAccess重写一些URL,但将所有其他URL发送到另一个页面

如何在WordPress REST API中判断应用程序密码

向WooCommerce管理订单总额添加自定义总额行

通过添加计数器修改文本区域表单中的重复值

PHP 中的curl -F request=@file.xml

Laravel路由中的符号在slug中会创建额外的斜杠

在WooCommerce可变产品中显示所选变体的自定义字段

为什么foreach循环会输出每个结果?

docker |管道失败的 ubuntu 源列表

适当的时区处理 Laravel / Carbon

从 CSV 文件 seeder 数据库时的额外行