怎么使php语言变得简洁

怎么使php语言变得简洁

php语言一直以简单易用著称,那么怎么使php语言变得简洁呢?下面是精心整理的怎么使php语言变得简洁,欢迎阅读,希望大家能够喜欢。

怎么使php语言变得简洁

1. 统一的编码规范

编码规范往简单说其实就是三个方面:

换行

空格

变量命名

放在 PHP 里面,还有一些附加的地方,比如关键字大小写,语法糖的使用(array() 与 [] 等)的问题。之前整理过 PSR 的标准,也找过 php-cs-fixer 这样的工具。这些都是规范代码的重要手段。有统一的标准,配合上工具的检查,形成统一的编码约束不是什么难题。

没有规范,不同的人甚至同一个人在空格、换行和命名上都有可能是十分随意的。代码一长,回使整个文件看起来无比杂乱。

典型的例子比如:if 和 else 的组合,可以写出无数种风格,比如:

这里并不探讨各种写法的优缺点,只是风格需要保持统一,不要混用。

2. 良好的编码习惯

如果你仔细看过 PSR 的标准,可能也会注意到某些地方其实是标准无法涉及到的。比如一个超长的表达式在什么时候换行,如何缩进等。

这里涉及到的就是编码习惯的约束问题。

比如方法的链式的调用的问题,比如某些数据库查询的封装:

3. 寻找最优的写法

写代码的过程中,最优的写法和编码习惯又不是同一件事情。这里要说的指的是如何遵循 PHP 的语言特性或者框架的特征,充分发挥语言和框架的能力来减少冗余。

比如在获取前端传入的参数的时候,很多时候能见到这样的代码:

$param = isset($_POST[param]) ? $_POST[param] : ;

更有甚者一些框架将前端传入的参数封装了一层,比如 $this->request->data[param],如果再去用 isset 或者 array_key_exists 判断,整个获取参数的语句就会变得很长。

某些情况下使用三元运算符的时候需要注意 ?: 是可以合并使用的。

其实我们应该去尝试封装这种写法,防止同样的变量出现在一个语句中多次的情况。对于默认值的赋予,可以调研框架是否有封装提供,或者通过强制类型转换的方式进行。

还有一种情况是条件和循环嵌套的时候。比如从数组里抽取某一个字段,或者对某一个字段的值进行处理的时候,善用 array_map 以及引用(&)往往能节省不少工作量。但是使用的时候也要注意数组指针最后的位置。

在根据条件返回结果时,需要善用 return。还有就是合理的抽象与封装。

4. review 自己的代码

除了以上提到的在日常开发中需要注意的一些问题。还有就是事后的工作。

我相信很多人在看自己以前的代码的时候都有一种其实有更好的写法的感觉。随着时间的推移自己总会有更丰富的阅历,更多的想法。偶尔 review 自己的代码也是对过去的总结,也许会有新的感知。

5. 推广给你的队友

团队项目中,队友的配合对整个代码的规范起着决定性的作用。一个团队中有一个人不遵守规范,而又要到处修改代码的时候,很快就能破坏到所有的约束。

有统一的标准,有良好的执行力才能完成这件工作。

令PHP语言更加简洁的编码小技巧

数组转化

我们常常需要在一个函数里面接受一个支持字符串或者数组类型数据的参数。可以使用适当的类型转化方式将字符串类型转化成数组类型,来取代类型检测。

当然这看起来没什么区别,只是节省了一行代码而已。但是你可以设想一下,当你使用复杂的循环结构或者嵌套数组处理大量数据时。这样做将会有意义,它能使代码保持简洁。

类型检查

类型检查也是一项让代码更简洁的技巧。一个小的类型检查可以节省几行代码,有些时候,还可以为你的参数提供更多的灵活性。

在这个例子里,我们可以在一行里面检查参数类型,所以我们不需要处处都写 if-else 语句。这里的参数有多种可能,可以是一个 Team 实例,也可以是一个整数。

重构长 If 语句

有时候,在执行动作之前我们需要做一些条件检查。但是,随着我们的应用的持续增长,if 语句会变得越来越长。所以,我们需要考虑重构。一个小例子:

注意,第一个例子运行方式与第二个有一些不同。第一个例子中,只要有一个条件为真,则后面的条件就会被忽略,在一些情况下,它会更快。谢谢 Zois Pag 的建议。

这两个例子的结果是一样的,但是第二个更整洁。我们可以不再使用 || 操作符,并且只引用了 $a 变量一次。

去掉不必要的 if 语句

一个普遍的错误,我们会经常性的过度使用 if-else 语句。当然,有些时候它是不可省略的,但也有些情况,我们不需要用到它。

但是逻辑颠倒了怎么办? 那么, 如果条件是true我们又想返回 false 该怎么办? 当然,在 if 语句中,我们仅需要相反的 true 和 false ,但是在重构的版本中,我们会有一个相对轻松的工作。只需要在你验真假的时候加上 ! 运算符。它将返回颠倒后的结果。

总结

每天我们都能发现一些充满了过度复杂逻辑的方案和代码,长期来看,这对开发者和产品本身都不好。上文中,我们只是尝试搜集了一些例子,在这些例子里,你只需做出一点小的努力,就可以让你的代码变得更好更简洁。

转载请注明出处学文网 » 怎么使php语言变得简洁

学习

商务英语作文合集

阅读(19)

本文为您介绍商务英语作文合集,内容包括商务英语初级作文,商务英语作文2017,商务英语调查报告作文。无论在学习、工作或是生活中,大家总少不了接触作文吧,作文要求篇章结构完整,一定要避免无结尾作文的出现。还是对作文一筹莫展吗?下面是精

学习

李现亲爱的热爱的台词

阅读(21)

本文为您介绍李现亲爱的热爱的台词,内容包括李现亲爱的热爱的台词遭吐槽,李现亲爱的热爱的经典语录,李现亲爱的热爱的剧照。随着社会不断地进步,用到台词的地方越来越多,台词是一种特殊的,也是很难掌握运用的文学语言。优秀的台词都具备一

学习

《幼儿园教育指导纲要》的学习心得体会精选

阅读(27)

本文为您介绍《幼儿园教育指导纲要》的学习心得体会精选,内容包括幼儿园入学准备指导要点心得体会,幼儿园指导纲要心得体会,幼儿园指导纲要培训心得体会500字。心中有不少心得体会时,应该马上记录下来,写一篇心得体会,这样就可以通过不断总

学习

C语言基本知识

阅读(22)

本文为您介绍C语言基本知识,内容包括c语言基本知识点,c语言基本知识面试,c语言基本知识作业。C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,下面是精心整理的C语言基本知识,仅供参考,希

学习

现烤面包做法

阅读(22)

本文为您介绍现烤面包做法,内容包括现烤面包做法教学,烤软面包做法,鲜烤吐司面包。面包一般都是用烤的,不同烤面包的做法让人们都不知道选择哪一种。其实根据需要随时改变选择即可,早餐时间不多,选择营养快捷的`,空闲时间就可以选择一些比较

学习

自考《中国近现代史纲要》练习题及答案

阅读(31)

本文为您介绍自考《中国近现代史纲要》练习题及答案,内容包括中国近现代史纲要自考题库及答案,自考中国近现代史纲要模拟试题,2020中国近现代史纲要自考答案。在日常学习、工作生活中,我们很多时候都不得不用到练习题,做习题有助于提高我

学习

幼儿园英语语言教案通用

阅读(21)

本文为您介绍幼儿园英语语言教案通用,内容包括英语单词教案幼儿园,章鱼先生卖雨伞幼儿园语言教案,幼儿园大班语言铁杵磨成针教案。作为一名默默奉献的教育工作者,有必要进行细致的教案准备工作,教案有助于学生理解并掌握系统的知识。来参

学习

分析王昌龄的边塞诗

阅读(15)

本文为您介绍分析王昌龄的边塞诗,内容包括王昌龄边塞诗有哪些,讲解王昌龄边塞诗,王昌龄的边塞诗以及赏析。王昌龄盛唐著名边塞诗人,受时代精神的感召,投身边塞,寻求功业梦想。以下是为大家收集的分析王昌龄的边塞诗,欢迎大家借鉴与参考,希望

学习

20部必看的商务英语电影

阅读(29)

本文为您介绍20部必看的商务英语电影,内容包括适合学习商务英语的电影,商务英语电影,有什么商务英语电影推荐。英文电影是很好的英语学习资料,而看电影学口语是很好的学习方法,正在被越来越多的英语爱好者所采用。以下是收集整理的20部必

学习

关于昙花一现的说说精选

阅读(23)

本文为您介绍关于昙花一现的说说精选,内容包括关于昙花一现的说说,感慨昙花一现的句子,关于昙花一现的精美句子。随着线上的、虚拟的社交的迅猛发展,越来越多人钟情于在朋友圈发布说说,用以展现自己对生活的热爱。你知道什么样的说说才有

学习

诗经中的爱情诗

阅读(24)

本文为您介绍诗经中的爱情诗,内容包括诗经中的爱情诗完整,诗经中的爱情诗论文,诗经中的爱情诗大都出自什么。《诗经》,是中国古代诗歌的开端,最早的一部诗歌总集,下面是整理的关于诗经中的爱情诗的内容,欢迎大家阅读。

学习

中班语言教案《太阳》

阅读(26)

本文为您介绍中班语言教案《太阳》,内容包括中班语言教案太阳找妈妈,中班语言教案太阳的颜色,中班语言教案太阳和月亮。作为一位兢兢业业的人民教师,时常需要编写教案,编写教案有利于我们弄通教材内容,进而选择科学、恰当的教学方法。那么

学习

商务英语写作的基本要求

阅读(24)

本文为您介绍商务英语写作的基本要求,内容包括商务英语写作技巧大全,商务英语写作100主题,商务英语写作的格式要求。在商务的写作过程中,大家都必须遵循6C原则,6C原则分别是准确(Correctness)、清楚(Clarity)、简明(Conciseness)、具体(Co

学习

消防学习条令纲要个人心得体会通用

阅读(25)

本文为您介绍消防学习条令纲要个人心得体会通用,内容包括消防救援队伍新条令条例心得体会,消防条令条例学习月活动动员部署,消防条令纲要知识竞赛荣获第一名。当我们心中积累了不少感想和见解时,可以记录在心得体会中,这么做能够提升我们

学习

C语言基本知识

阅读(22)

本文为您介绍C语言基本知识,内容包括c语言基本知识点,c语言基本知识面试,c语言基本知识作业。C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,下面是精心整理的C语言基本知识,仅供参考,希

学习

幼儿园英语语言教案通用

阅读(21)

本文为您介绍幼儿园英语语言教案通用,内容包括英语单词教案幼儿园,章鱼先生卖雨伞幼儿园语言教案,幼儿园大班语言铁杵磨成针教案。作为一名默默奉献的教育工作者,有必要进行细致的教案准备工作,教案有助于学生理解并掌握系统的知识。来参

学习

语言学概论试题及答案

阅读(20)

本文为您介绍语言学概论试题及答案,内容包括语言学概论试题及答案2020年8月,语言学概论试题及答案西南大学,语言学概论试题。在平平淡淡的日常中,我们都经常看到试题的身影,借助试题可以更好地考核参考者的知识才能。你知道什么样的试题才

学习

学校语言文字工作计划范文精选

阅读(28)

本文为您介绍学校语言文字工作计划范文精选,内容包括学校语言文字工作计划,国家通用语言文字工作计划,语言文字工作计划范文。学校语言文字工作计划可以怎么开展?一、加强领导,建立健全语言文字组织机构,明确分工,责任到人,把开展达标校创建

学习

语言文字工作总结精选

阅读(25)

本文为您介绍语言文字工作总结精选,内容包括语言文字工作总结范文,语言文字工作总结幼儿园,语言文字工作总结2023年幼儿园。一、工作总结注意事项调查研究

学习

语言文字的工作计划精选

阅读(23)

本文为您介绍语言文字的工作计划精选,内容包括语言文字工作计划方案,语言文字个人工作计划,学校语言文字工作计划和总结。一、工作计划的分类根据不同的角度,计划可以分成很多类:

学习

小学语言文字工作计划通用

阅读(27)

本文为您介绍小学语言文字工作计划通用,内容包括小学语言文字工作计划和总结,2022年语言文字工作计划,小学2020语言文字工作计划。小学语言文字工作计划(通用10篇)

学习

学校语言文字工作总结精选

阅读(26)

本文为您介绍学校语言文字工作总结精选,内容包括学校语言文字工作总结范文,学校语言文字工作情况汇报,幼儿园语言文字工作总结。一、工作总结的主要内容工作总结的内容分为以下几部分: