[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

单一继承语言的救世主? ? 解释 PHP 特性!

PHP

感谢您的辛勤工作!
我是系统开发部的山田。

这次,我将解释 PHP 5.4.0 中引入的用于重用代码的特征。

什么是特质?

Traits 是在 PHP 5.4.0 中引入的,是单继承语言中代码重用的机制。
通过将方法分组在一起并在类中声明它们的使用,您可以将它们用作类方法而无需继承。

为什么要创造特质?

PHP 类有一种称为继承的机制。
继承是一种在继承现有类内容的同时创建新类的机制。

继承消除了编写相同代码的需要,但是这种继承被设计为每个类只允许一个继承,所以如果你想在不同的类中使用多个方法,你可以使用继承,它们之间的关系往往很复杂,使得它。有点难处理。

Trait 的诞生就是为了解决这个问题。
通过将方法作为特征分组在一起,并允许通过在类中声明它们来简单地使用它们,我们可以减少单继承机制带来的复杂性。

如何使用

如何创造特质

特征 特征名称 { 公共函数方法名称 1() { 处理 } 公共函数方法名称 2() { 处理 } }

如何在课堂上使用

class 类名 { 使用创建的特征名称; // 类处理 }

检查实际代码

让我们实际编写代码,看看它是否有效。
待确认的详情如下。

  • 你的类方法工作正常吗?
  • 继承的类方法是否可以正常工作?
  • 当在类中声明状态时它可以正常工作吗?

为此,我想创造一个感觉像神一样的强大英雄。
创建人类时,仅定义名字和身高,英雄具有人类特征和挥舞剑的能力。
我们还希望通过添加“更快的脚步”和“更强的身体”等物理强化特性来创造一个强大的英雄。
代码编写流程如下。

  • 创造体力状态
  • 创建一个继承人类类的英雄类
  • 将创建的状态继承到英雄类并检查它是否确实有效
 
特质EnhancedBody { public function fastRunner() { echo '我的腿变得更快' } public function StrongBody() { echo '我的身体变得更强'; } } class Human { public $name; public function __construct($;名称) { $this->name = $name; $this->height = rand(140, 190); } public function status() { echo "名称: {$this->name}, 高度: {$this- >;height}"; } } class Swordsman extends Human { useEnhancedBody; public function swingTheSword() { echo "挥剑"; } } 

上述代码的运行结果如下所示。

// 创建英雄类 $taro = new Swordsman('taro'); // 执行人类类中定义的方法 $taro->status(); // Name: taro, height: 150 // 英雄类 执行$taro->swingTheSword(); // 挥动剑 // 执行身体增强状态中定义的方法 $taro->fastRunner(); // 变得更快 $taro ->strongBody();你的身体更强壮

既然我们能够创建一个比上面更强的英雄,我们可以看到我们可以使用类方法、继承的类方法和声明的状态方法。

概括

这次,我解释了特征,它是单继承语言中重用代码的机制之一。
虽然用法本身是一个有限的功能,但是你可以简单地通过在 Trait 中编写一个方法并为你想要使用的类声明一个用法来使用它,这降低了代码的复杂性,让代码更容易阅读,所以请请使用它。

最后

我开设了我所属的系统开发服务网站“SEKARAKU Lab”。
Beyond是从服务器设计搭建到运营的一站式服务,所以如果您在服务器端开发方面遇到任何问题,请随时联系我们。
SEKARAKU 实验室: https://sekarakulab.beyondjapan.com/

如果您觉得这篇文章有帮助,请点赞!
1
加载中...
1 票,平均:1.00 / 11
10,596
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

[大阪/横滨] 积极招募基础设施工程师和服务器端工程师!

写这篇文章的人

关于作者

山田由纪

2021年加入Beyond Co., Ltd.
我的爱好是卡拉OK和桌
游。我的桌游已经放不下一个架子了,所以我想买一个新的架子,但我很伤心,因为我没有地方放在家里放一个架子。
拥有模具设计和销售经验,积累了丰富的经验,并找到了服务器端工程师的工作。
目前从事使用PHP和Python的服务器端开发。
以后想学习一门前端语言,对基于React的前端框架Next.js很感兴趣。