Laravel 9 突变冒号

2023-12-06

在 Laravel 9 中,变异器有不同的实现。下面的例子来自官方文档.

protected function firstName(): Attribute
{
    return Attribute::make(
        get: fn ($value) => ucfirst($value),
        set: fn ($value) => strtolower($value),
    );
}

但什么是colon: after get and set?这是 PHP 8 中的新功能吗? Attribute::make 的定义是:

public static function make(callable $get = null, callable $set = null): Attribute

命名参数是 PHP 8.0 中的新功能。

在具有简单签名的函数或方法中,它可以充当一种自我文档来指示参数是什么。例如,在您提供的代码中,两个参数都是简单的回调,对提供的值执行基本的字符串操作。如果没有参数名称,阅读代码的人将需要检查方法签名以了解每个参数的作用。

这也是一种在使用具有长签名或复杂默认值的函数或方法时仅指定所需参数的便捷方法。

例如,签名为htmlspecialchars()看起来像这样:

htmlspecialchars(
    string $string,
    int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
    ?string $encoding = null,
    bool $double_encode = true
): string

在以前的版本中,如果您想更改double_encode参数为 false,但将其他参数保留为默认值,您必须这样做:

<?php
htmlspecialchars(
    "Some text & stuff",
    ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
    null,
    false
);

但对于命名参数,它看起来像这样:

<?php
htmlspecialchars(
    "Some text & stuff",
    double_encode: false
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 9 突变冒号 的相关文章

  • 如何在 HTML / Javascript 页面中插入 PHP 下拉列表

    好吧 这是我的第二篇文章 请接受我是一个完全的新手 愿意学习 花了很多时间在各个网站上寻找答案 而且我几乎已经到达了我需要到达的地方 至少在这一点上 我有一个网页 其中有许多 javascript 函数 这些函数一起使用 google 地图
  • 如何在 Laravel 5.4 中加载 Vue 组件?

    我已经运行 npm run watch 并收到了消息 This dependency was not found in resources assets js app js To install it you can run npm ins
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • mysqli bind_param 中的 NULL 是什么类型?

    我正在尝试将参数绑定到 INSERT INTO MySQLi 准备好的语句 如果该变量存在 否则插入 null 然后我知道 type variable i corresponding variable has type integer d
  • “pdo_mysql”已禁用,我无法启用它。我在 iMac 7.1 OSX 10.6.8 上安装了 MAMP v. 3.0.4

    pdo mysql 已禁用 我无法启用它 我在 iMac 7 1 OSX 10 6 8 上安装了 MAMP v 3 0 4 在我的 phpinfo 页面上 我可以看到唯一启用的 PDO 是 sqlite 如果我查看 php 5 5 10 扩
  • 文件修改时间检查的成本

    对于Linux下包含少量字节的文件 我只需要处理自上次处理以来发生更改的时间 我通过调用 PHP 检查文件是否被更改clearstatcache filemtime 定期 由于整个文件总是很小 因此删除对 filemtime 的调用并通过将
  • JavaScript 中带前导零的数字发生变化

    我使用 print 语句从 php 调用 javascript 函数来打印 html 代码 并且传入一个整数 但是 在 php 中传递的值与 javascript 函数接收到的数字不匹配 我不知道为什么 这是调用 javascript 函数
  • PHP、jQuery 和 Ajax 调用乱序

    我正在使用 jQuery 进行 Ajax 调用 我有 x 数量的 Ajax 调用附加到 div 这些 Ajax 加载请求是由 PHP foreach 循环生成的 问题是它们渲染的顺序不正确 它们被设置在数组中
  • 创建 Facebook 测试用户时访问令牌出现问题

    我正在尝试为我的 Facebook 应用程序创建测试用户 他们在 11 月份的博客文章 http developers facebook com blog post 429 中宣布了此功能 并在此处记录了该功能 http developer
  • 如何处理 AJAX 请求中的会话超时

    我相信你们都熟悉使用 AJAX 的投票系统 嗯 看那边 我有类似的东西 当你投票赞成或反对时 它使用 AJAX 从 votes php 请求新值 问题是我正在使用会话来获取用户 ID 因此一个人只能投票一次 如果他们在页面上坐了一个小时然后
  • 删除 woocommerce 店面主页标题 php

    我正在使用 woocommerce 的店面主题 我需要用 php 删除主页标题 h1 我知道 css 解决方案 但我不想使用它 因为我想将 h1 添加到该页面的其他位置 并且在一个页面中包含 2 个 h1 对 seo 不利页 我也知道删除页
  • 重新排列数组键 php [重复]

    这个问题在这里已经有答案了 我有这个数组 Array 15 gt 13 1 16 gt Mark one answer 19 gt You see a car on the hard shoulder of a motorway with
  • CSS 无法从带有 php“includes”的相对路径工作

    文件夹结构 index php includes header html css style css 我的主项目文件夹中有 2 个子文件夹 一个是名为 includes 的文件夹 另一个名为 css 我有我的 index php主文件夹中的
  • PHP 错误:“无法通过引用传递参数 2”

    我只是需要有关这个 PHP 错误的帮助 我不太明白 致命错误 无法在第 13 行 web stud openup inactivatesession php 中通过引用传递参数 2
  • 使用 fopen() 包装器创建 ZIP 文件

    如何使用以下命令创建 ZIP 文件fopen 包装器 http es php net manual en wrappers compression php 这显然是not道路
  • 如何确保在 PHP 的“foreach”循环中重置该值?

    我正在写一个简单的 PHP 页面和一些foreach使用了循环 以下是脚本 arrs array a b c foreach arrs as arr if substr arr 0 1 b echo This is b End of fir
  • 监听文件夹和文件(更改)

    可以直接在 PHP 或 Node 上监听文件夹和文件的更改 通过事件 还是我需要创建自己的方法来执行此操作 Example 我需要听文件夹 user 如果我将一些文件添加到该目录中 PHP 或 Node 会收到信息并运行PathEvent
  • HTML 代码中的 PHP [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我用 HTML 代码编写了 PHP div div 但这出现在输出页面中 else print 我怎样才能让PHP执行 你的文件有一个 p
  • 接口中的构造方法

    接口中的构造方法不好吗 为什么人们认为有人想要实例化接口 我们想要做的是强制实现者实现构造函数 就像其他接口方法一样 接口就像一个合同 假设我有一个接口 Queue 并且我想确保实现者创建一个带有一个参数的构造函数 该构造函数创建一个单例队

随机推荐

  • 是否有 C# 相当于 Java ConcurrentHashMap

    我需要 C 中的字典 哈希图 允许您执行以下操作 无需锁定即可同时输入值和迭代 锁只放 get没有被锁定 可能会同时get很多次 Thanks 在这里查看 ConcurrentDictionary http msdn microsoft c
  • android操作系统可以捕获蓝牙鼠标右键单击和滚轮事件吗?

    我有一部 android 2 3 5 手机 它可以连接到蓝牙鼠标 但我发现它只响应左键单击和鼠标移动 if event getAction MotionEvent ACTION DOWN Left Button else if event
  • Cordova/PhoneGap无法添加WP7/WP8/Windows平台

    我在 Win8 上尝试添加 wp8 平台时遇到错误 详细信息如下 CordovaWP8 gt cordova d 平台添加 wp8 wp8 的科尔多瓦库已经存在 无需下载 继续 检查平台 wp8 是否通过最低要求 检查 wp8 要求 运行
  • Visual Studio 2015 Intellisense 键盘选项

    首先 我是在这里问这个问题 而不是在 Microsoft 论坛上 因为它们是 嗯 你知道它们是什么 我喜欢 VS2015 Intellisense 自动完成功能 当我需要它们时 但他们愚蠢地添加了空格键作为选择键 更愚蠢的是 他们还添加了
  • 获取WPML的语言代码

    我正在尝试获取 WPLM wordpress 插件的语言代码 这就是我在没有运气的情况下所做的 p Spanish text p 知道问题出在哪里吗 我检查了一些教程 他们就是这样做的 es En不是有效的语言代码 你只想使用es p Sp
  • 为什么我不能使用引用子类型实例的父类型的引用来调用子类方法?

    我正在学习Java 同时试图理解继承 我无法弄清楚为什么子类 walk 中的重写方法被执行 但其他 xyz 方法却没有被执行 class Person public void walk System out println walking
  • 按欧拉角输入旋转四元数

    我正在编写一段代码来控制 3D 空间中的机械臂 机械臂通过四元数处理旋转 但我希望用户通过改变偏航 俯仰和滚动来控制它 因为人类使用这些更明智 我编写了函数来获取用户想要在每个方向 滚动 俯仰 偏航 旋转手臂的量并输出新的四元数 我将 cu
  • 使用 perl 从远程主机读取文件

    我正在尝试从 ubuntu 机器读取位于同一 LAN 中远程主机 ubuntu 上的 root 目录下的文件 temp txt ssh 和 ftp 已打开 perl 脚本能够连接 并出现一个 OpenSSH 对话框 要求输入密码 然后程序存
  • 使用线程睡眠更新 UI

    我正忙于为 Android 设备制作应用程序 现在我正在测试一些东西 我想改变背景颜色有限次 比如说 5 次 每次背景改变时 我希望它在 2 3 秒后再次改变 如果我使用 Thread 类 它会在 Thread 完成后加载整个模板 您看不到
  • 在后面创建数据模板代码

    我正在尝试创建一个用于显示数据的列表框视图 并且希望它包含一个带有 2 列 产品 ID 和产品条形码 数据模板的列表框 我想使用纯 C 代码创建它 或者如果可能的话通过 xaml 加载它 如果我可以创建一个模板 我就可以将 C 作为某种资源
  • 使用 scipy.io.savemat 保存嵌套列表

    这与我的上一个问题有关 可以找到here 我正在处理类似于我在该链接中描述为markerList 的列表的列表 因此是一个具有三个级别的列表 我需要将此信息保存为 mat 文件 但无法将其保存为正确的类型 当使用 scipy io save
  • 带分隔线的进度条

    有人可以向我解释如何实现带有分隔线的进度条 如下图所示吗 对于我正在使用的进度条https github com akexorcist Android RoundCornerProgressBar但这似乎没有分隔符选项 replace Pr
  • Spring Boot 和 JUnit 5 之间的交互——必须使用整体工件而不是个体?

    这个问题之前已经被问过 例如here 但我的观察与之前报道的不一样 我注意到要让 JUnit 5 工作 我必须包含整个 JUnit 5 工件 testImplementation org junit jupiter junit jupite
  • 我应该使用什么正则表达式根据 2 个单词格式和空格分割字符串?

    我正在尝试分割字符串 Chan 0 2 50 0 12 13 92 83 46 Chan 1 2 58 85 92 2 47 9 03 Chan 2 5 00 85 0 33 33 6 64 Chan 3 0 00 0 00 14 41 8
  • 如何获取已删除分区中索引节点在块设备中的偏移量

    在全新安装过程中 我不小心格式化了包含数据的磁盘 我尝试过使用一些工具 最重要的是testdisk 但我没有得到好的结果 看我不成功的帖子在超级用户上 所以我决定阅读一些有关的文档ext2 文件系统结构 我可以获得一些结果 删除的分区有一个
  • 为什么 Emoji 无法在 UITextField 中正确显示?

    当使用以下代码设置表情符号字符时 self textField text ue415 它只是显示为正方形 但是当我从键盘输入表情符号时 它会正确显示 有什么问题 PS 我使用的是IOS 5 1 在旧版本的 iOS 中 表情符号字符全部位于
  • 需要使用正则表达式屏蔽手机号码

    我使用了以下表达方式 replaceAll d d 4 X 在android studio中进行以下操作 Input 1234567809 Expected Output 12XXXXX809 使用上述表达式后得到的输出 XXXXXX780
  • 只能将 str (不是“字节”)连接到 str

    import socket import os user url input Enter url host name user url split 2 mysock socket socket socket AF INET socket S
  • MySQL:仅返回平面/对话消息表中的最后一条消息

    我正在编写一个消息系统 例如 Facebook 的新消息系统 其中两个用户之间的整个来回被视为一次对话 与传统电子邮件相反 传统电子邮件中的每个回复都是单独的消息 或者与 gMail 的对话相反 在 gMail 对话中 回复全部集中在一个对
  • Laravel 9 突变冒号

    在 Laravel 9 中 变异器有不同的实现 下面的例子来自官方文档 protected function firstName Attribute return Attribute make get fn value gt ucfirst