当前位置: 首页 > news >正文

什么网络游戏比较好玩冬镜seo

什么网络游戏比较好玩,冬镜seo,关于网站建设的介绍,档案网站建设论文前言 学过java的同学应该都知道注解的作用&#xff0c;但是在php中注解有什么用呢&#xff1f;我的理解就是美化代码和便于维护一些类的设计。 说明 我们先设计一个类&#xff0c;声明人类的性别 <?php class Sex {//男人const MAN 1;//女人const WIFE 2;//未知const…

前言

学过java的同学应该都知道注解的作用,但是在php中注解有什么用呢?我的理解就是美化代码和便于维护一些类的设计。

说明

我们先设计一个类,声明人类的性别

<?php
class Sex
{//男人const MAN = 1;//女人const WIFE = 2;//未知const UNKNOWN = 0;
}

由上可知,我们分别设计了3个类型,0=>未知,1=>男人,2=>女人

现在,应业务需求,我给前端展示的内容不能显示数字(0,1,2),要展示汉字(未知,男人,女人),数据映射在后端完成。 结合php8引入了枚举的支持。那么我们重新设计如下

<?phpenum Sex : int
{//男人case MAN = 1;//女人case WIFE = 2;//未知case UNKNOWN = 0;public function getDescription() : string{return match($this){self::MAN	=>	'男人',self::WIFE  =>  '女人',self::UNKNOWN => '未知'};}
}
echo Sex::MAN->getDescription(); //获得中文映射

由上可知,是不是看着就简单了许多。
但是,还有更直观的显示,设计会稍微复杂一点,我们接着慢慢向下看。

我们先设计一个trait,此trait完成注解的反射。

<?php
trait EnumFeature
{/*** 获取case 注解内容* @param string $class 注解类* @return null | Object*/protected function getTargetCaseReflectionAnnotation(string $class) : mixed{$reflection = new \ReflectionEnumBackedCase(self::class,$this->name);$attributes = $reflection->getAttributes();if(empty($attributes)){return null;}foreach($attributes as $attribute){if($attribute->getName() === $class){return $attribute->newInstance();}}return null;}
}

在设计一个注解类,让这个注解类可以注解 enum - case

<?php
#[\Attribute(\Attribute::TARGET_CLASS_CONSTANT)]
class CaseDescription
{public function __construct(public string $description){}
}

重构 enum 设计如下


enum Sex : int
{use EnumFeature#[CaseDescription('男人')]case MAN = 1;#[CaseDescription('女人')]case WIFE = 2;#[CaseDescription('未知')]case UNKNOWN = 0;public function getDescription() : ?string{//获取注解示例,并从中获取 description 属性return $this->getTargetCaseReflectionAnnotation(CaseDescription::class)?->description;}
}

这样看着是否直观了很多?对比之前的方案,也便于维护。
完整版,应业务需求,不同的性别在页面上呈现的性别颜色也不同。
再设计一个Color注解

<?php#[\Attribute(\Attribute::TARGET_ALL)]
class Color
{public function __construct(public ?string $value = null){}
}

对性别进行color注解添加


enum Sex : int
{use EnumFeature#[CaseDescription('男人'),Color("#000000")]case MAN = 1;#[CaseDescription('女人'),Color("#FFF000")]case WIFE = 2;#[CaseDescription('未知'),Color("#CCCCCC")]case UNKNOWN = 0;//获取中文名称public function getDescription() : ?string{//获取注解示例,并从中获取 description 属性return $this->getTargetCaseReflectionAnnotation(CaseDescription::class)?->description;}//获取颜色public function getColort() : ?string{return $this->getTargetCaseReflectionAnnotation(Color::class)?->value;}
}

以上就是我对注解的实际应用。当然再hyperf 框架中,注解实际上被赋予了更多的含义(如自动注入等高级功能,类似java的spring容器了)

总结

以前总觉得php 语言开发大型项目并不是很适合,但现在php8出来后,个人觉得php8越来越适合开发大型项目,祝php越来越好,能够再众多的开发语言中再次脱颖而出。php是世界上最好的语言~

http://www.hkea.cn/news/952519/

相关文章:

  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案
  • 做网站的基础架构东莞seo建站公司
  • 嘉兴做网站的哪家好龙岗网站制作
  • 论坛做网站好吗百度官方网页
  • 微信开发者工具获取系统日期seo优化一般包括
  • 怎么用文本做网站百度排行榜风云榜
  • 未来网站开发需求多搜索网站有哪几个
  • 网站建设 成都郑州高端网站制作
  • 快站怎么做淘客网站深圳关键词
  • 做网站时如何去掉网站横条小红书软文案例
  • 图虫南宁百度快速排名优化
  • 上城网站建设app推广文案
  • 网站建设特点宁波seo搜索引擎优化公司
  • 地产商网站建设网球新闻最新消息
  • 做爰全过程网站免费的视频谷歌seo搜索引擎
  • 怎么架设网站seo推广培训
  • 自己网站做问卷调查网页设计学生作业模板
  • 清远企业网站排名深圳网站建设系统
  • 互助平台网站建设费用卡点视频免费制作软件