首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是PHP函数命名和参数顺序逻辑/约定?

在PHP编程中,函数命名和参数顺序逻辑/约定是指在编写函数时遵循的一些规范和最佳实践。这些规范和最佳实践可以提高代码的可读性、可维护性和可重用性。

函数命名

在PHP中,函数名应该具有描述性,以便其他开发人员能够轻松地理解其用途。为了实现这一点,建议遵循以下命名规范:

  1. 使用小写字母,单词之间用下划线分隔。
  2. 动词优先,描述函数的动作。
  3. 避免使用PHP关键字作为函数名。
  4. 使用简洁明了的名称,避免使用过长的单词或缩写。

例如,一个用于计算两个数字之和的函数可以命名为add_numbers

参数顺序逻辑/约定

在编写函数时,需要考虑参数的顺序和数量。以下是一些建议的参数顺序逻辑/约定:

  1. 将最重要的参数放在前面,以便调用函数时能够快速传递必要的参数。
  2. 将可选参数放在后面,并为它们提供默认值。
  3. 避免使用变长参数列表,因为这可能导致函数调用的混淆和错误。

例如,一个用于计算两个数字之和的函数可以定义为:

代码语言:php
复制
function add_numbers($number1, $number2, $precision = 2) {
    // ...
}

在这个例子中,$number1$number2是必需的参数,而$precision是可选的,默认值为2。

总之,在编写PHP函数时,遵循一些命名规范和参数顺序逻辑/约定可以提高代码的可读性、可维护性和可重用性。这将有助于提高整个项目的质量和开发效率。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHP的基本规则

程序块划分尽量合理,过大或者过小的分割都会影响他人对代码的阅读理解,一般以较大函数定义、逻辑结构、功能结构来进行划分。少于15行的程序块,可不加上下空白行。...与函数名一样,变量名总以小写字母开头并遵循"驼峰式"命名约定。 鼓励使用冗长的名字,这样容易理解代码。除在小循环中以外,不鼓励使用简洁的名字(如in)。...A.3.5  函数方法 1.函数方法声明 必须用下面的变量名约定命名函数: 在类中的函数必须用private、protected或public声明其可见性。...类一样,花括号从函数名的下一行开始,函数名与包括参数的圆括号中间没有空格。 不能使用全局函数。...函数参数用逗号空格将紧接着的参数分隔。

5.1K50

技术积累 - 代码问题及对策

因此,在命名时要足够有意识,避免函数命名冲突。...不要让不同的业务共用相同的函数,然后在函数里一堆 if-else plus switch , 而是每个业务都有各自的函数, 并可复用相同的通用逻辑流程处理;或者各个业务可以覆写同样命名函数。...代码层次不合理 代码改动逻辑正确的,然而代码的放置位置不符合当前架构设计约定,导致后续维护成本增加。 代码层次不合理可能导致重复代码。...API参数传递错误 如果API参数有多个,而且相邻参数的类型相同,那么要特别留意是否参数顺序正确的,而不会张冠李戴。...不要修改原方法的参数顺序;b. 在最后面增加可选参数

89740
  • CodeReview常见代码问题

    如果新创建逻辑,可以使用函数式编程或基于接口的编程,将通用处理流程抽离出来,而将具体业务逻辑以回调函数的形式传入处理。...不要让不同的业务共用相同的函数,然后在函数里一堆 if-else plus switch , 而是每个业务都有各自的函数, 并可复用相同的通用逻辑流程处理; 或者各个业务可以覆写同样命名函数。...可以参考 jdk 的命名、通用词汇行业词汇; 作用域小的采用短命名,作用域大的采用长命名。取名字一种重要技能,—— 多少父母为此愁灰了头!...API参数传递错误 如果API参数有多个,而且相邻参数的类型相同,那么要特别留意是否参数顺序正确的,而不会张冠李戴。...不要修改原方法的参数顺序; b. 在最后面增加可选参数

    92000

    codeReview常见代码问题

    名字冲突   引用错误实际上名字冲突的一种情形。名字冲突常常出现在自定义函数命名跟库函数名字一样的情况下。此时,自定义函数的定义会覆盖库函数,导致在某一处正常,而其他地方出问题。...因此,在命名时要足够有意识,避免函数命名冲突。...不要让不同的业务共用相同的函数,然后在函数里一堆 if-else plus switch , 而是每个业务都有各自的函数, 并可复用相同的通用逻辑流程处理; 或者各个业务可以覆写同样命名函数。...API参数传递错误   如果API参数有多个,而且相邻参数的类型相同,那么要特别留意是否参数顺序正确的,而不会张冠李戴。   ...不要修改原方法的参数顺序; b. 在最后面增加可选参数

    1.3K30

    Laravel 控制器:从 MVC 模式聊起

    1、控制器概述 到目前为止,我们定义的所有路由都是基于闭包函数实现的,前面已经提到过,随着应用体量的增长,不可能将所有路由都定义在单个文件中,且对于复杂的业务逻辑,闭包函数也不足以支撑,所以其他 Web...注:这里需要注意的控制器 TaskController 的完整命名空间 App\Http\Controllers\TaskController,但是我们在定义路由的时候只用了类名,关于这一点我们在上一篇教程的命名空间前缀部分已经提到过...提到依赖注入,就绕不开服务容器,关于服务容器后面我们会单独讲解,而现在你只需了解服务容器一个绑定多个接口与具体服务实现类的容器,而依赖注入则是在代码编写时以接口(或者叫做类型提示)方式作为参数,不必传入具体实现类...5、资源控制器 有时候在编写控制器时命名方法名称可能最困难的,好在 Laravel 为常见的 REST/CRUD 控制器(在 Laravel 中称之为「资源控制器」)提供了一套约定规则,并为此提供了相应的...、URL、方法名业务逻辑约定

    11.3K51

    scala:把函数作为值或参数进行传递、作为返回值进行返回,以及什么闭包柯里化

    语法:在函数名称的后面 + 空格 加下划线 //注意:将foo函数作为一个整体,赋值给f变量, f函数类型 ()=>Int //val f : () => Int = foo...ff = foo _ //将函数本身作为值赋给ff //将函数本身作为值赋给ff 如果明确了变量的类型,那么空格下划线可以省略 //var ff:()=>Unit = foo...calculator,该函数接收一个函数类型的参数op,op定义了对两个整数要进行什么样的操作 def calculator(a:Int,b:Int,op:(Int,Int)=>Int): Int...//f4在执行的时候,其实会转换为以下结构 /* def f4() ={ var a:Int = 10 (b:Int) => a + b } 什么匿名函数...参数的类型可以省略,会根据形参进行自动的推导 类型省略之后,发现只有一个参数,则圆括号可以省略;其他情况:没有参数参数超过1的永远不能省略圆括号。

    1.8K10

    JavaScript代码规范

    One True Brace Style 风格 变量命名命名变量时,主流分为驼峰式命名(variableName)下划线命名(variable_name)两大阵营。...由于构造函数只是常规函数,唯一区别是使用 new 来调用。所以我们团队约定构造函数的首字母要大小,以此来区分构造函数普通函数。...不推荐 var fooItem = new foo() 推荐 var fooItem = new Foo() 构造函数参数 在 JavaScript 中,通过 new 调用构造函数时,如果不带参数,可以省略后面的圆括号...命名函数要求函数 function 关键字之间有空格,但是匿名函数要求不加空格。...也就是说,高位在前还是低位在前。UTF-8 不需要 BOM 来表明字节顺序,因为单个字节并不影响字节顺序

    2.6K30

    WordPress 的 PHP 编码规范

    函数多行调用 将一个函数调用拆分为多行时,每个参数必须位于单独的行上, 单行内联注释可以单独一行: 每个参数不得超过一行,如果一个参数需要多行,那么可以先将其赋值给一个变量,然后再将该变量传递给函数调用...命名约定 在变量名,action/filter 的名称函数名使用小写,不要使用驼峰式,通过下划线分割单词, 如非必需不要使用缩写,让代码无歧义并能自我说明: function some_name( $...PHP 直到 8.0 起,才支持命名参数,但是,由于 WordPress 目前仍支持较旧的 PHP 版本,我们还不能使用这些版本。...没有命名参数,标志的值没有意义的,每次遇到像上面例子这样的函数调用时,我们都必须搜索函数定义才明白什么意思。通过使用描述性字符串值而不是布尔值,可以使代码更具可读性。...' ) ); 动态 Hook 的插值命名 出于可读性可发现性的目的,应使用插值而不是串联来命名动态 Hook。

    5.5K40

    初学者必须掌握的编码规范

    例如:num_sequence //数字顺序 5、所有编程相关命名均不能以下划线或美元符号开始,严禁拼音与引文混合的方式,更加不能用中文方式命名,避免缩写英文。...如果这些单词缩略语(例如XML),也要首字母大写,其它字母小写(写作Xml)。 命名中若使用特殊约定或缩写,则要有注释说明。...方法名称应该是一个动词或动名词短语,意思“完成什么功能”,“执行什么操作”。 注释约定 1、函数头的注释规范 ? 2、对某一功能的逐步书写注释: ? 该注释可以让你理清思路。...变量的作用范围 尽量做到缩小变量的作用范围,对于变量指针的,应遵循以下约定: Ø 在局部分配的空间在局部释放。 Ø 函数体内不能分配空间并将空间指针作为函数参数返回。...(即命名规则中没有规定到的地方才可有个人命名风格) 代码要保证有良好的结构性逻辑性,方便扩展整理。

    1K30

    PHP命名空间与自动加载机制的基础介绍

    前言 include require PHP中引入文件的两个基本方法。...在小规模开发中直接使用 include require 没哟什么不妥,但在大型项目中会造成大量的 include require 堆积。...当需要使用的类没有被引入时,这个函数会在PHP报错前被触发,未定义的类名会被当作参数传入。至于函数具体的逻辑,这需要用户自己去实现。...在当前命名空间没有声明的情况下,限定类名完全限定类名等价的。因为如果不指定空间,则默认为全局(\)。...否则他会认为百度谷歌的一个部门,而李彦宏只是其中的一位员工而已。 这个例子展示了在命名空间下,使用限定类名完全限定类名的区别。

    1.7K30

    函数调用约定

    现代的几乎所有的编程语言都离不开函数参数的概念。而这个概念编程语言级别的,而不是硬件级别的。也就是说硬件上本来没有函数的概念。只是函数的用的太普遍,硬件开始为函数准备专用的指令。...芯片只是规定了指令集,只要是指令集中的指令都是可以执行的正确指令,而函数语义级别的功能块,如何让函数的大厦在指令集之上建立起来就是函数调用约定。...函数调用约定主要解决这几个问题: l 参数什么顺序入栈或者以什么顺序进入寄存器完成传递 l 调用其它函数的时候要保存本函数的寄存器现场,谁来保存,保存哪些寄存器 l 函数退出时候要恢复调用者的寄存器现场...调用者恢复还是被调用者恢复。恢复哪些寄存器 l 如何给函数命名。这里的命名指如何编码参数返回值类型到函数名中。一般编译之后的代码的函数名都不是代码中编程语言规定的函数名。而是根据这个生成的。...这对这几个问题的不同答案,有几种比较著名的约定:stdcall ,cdecl ,fastcall ,thiscall ,naked call 入栈顺序 函数命名方式 栈清理方 默认使用者

    2.3K20

    PHP最佳实践

    配置文件通常包含以下信息:数据库参数、email地址、各类选项、debuglogging输出开关、应用程序常数。 3....名称空间(namespace) 选择类函数名的时候,必须很小心,避免出现重名。尽可能不要在类以外,放置全局性函数,类对内部的属性方法,相当于有一层名称空间保护。...自动生成代码 99%的值对象DAO代码,可以根据数据库模式(schema)自动生成,前提你的表列使用约定的方式进行命名。如果你修改数据库模式,一个自动生成代码的脚本将大大节省你的时间。 8....页逻辑依次执行以下步骤(请参照后面的PageController类的代码):   i. 假定页面请求之中,包含一个cmd参数。   ii. 根据cmd参数的值,执行相应的动作。   iii....base.inc.php文件中,应该按照以下顺序添加包含文件:   * /lib/common之中经常使用的类(比如数据库层)。

    90010

    优秀Java程序员的编程风格

    2.用动词命名方法 3.遵循JavaBean中命名属性访问函数方法:set,get,is 变量命名: 1.变量命中的第一个单词小写,其后的每个单词的第一个字母大写 2.用名词命名变量 3.集合引用名要用复数形式...4.为不重要的临时变量简历并使用一套标准名字 字段命名: 1.使用this字段变量可以区分开局部变量 参数命名: 1.构造函数或者”set”方法给字段分配参数赋值,参数名应该字段名相同 常量命名:...、不变条件编写文档 5.为已知的缺陷不足编写文档 6.为同步语法编写文档 内部注释: 1.仅添加有助于理解你的代码的内部注释 2.描写代码为什么这样做,而不是在做什么 3.避免使用行尾注释 4.用行尾注释解释局部变量声明...2.不要从构造函数中调用非final方法 3.用嵌套的构造函数消除冗余代码 异常处理: 1.使用不受检查、运行时的异常来报告可能在程序逻辑中出错的严重未查明错误 2.使用检查异常来报告可能发生,而在正常的程序运行时极少发生的错误...3.用返回代码报告可预知的状态改变 4.仅转化异常来添加信息 5.不要私自处置运行时或者错误异常 6.用finally语句块释放资源 断言: 1.按照约定编程 2.用无用代码消除机制实现断言 3.用断言捕捉代码中的逻辑错误

    29220

    涨姿势 | 优秀 Java 程序员写代码的风格

    2.用动词命名方法 3.遵循JavaBean中命名属性访问函数方法:set,get,is 变量命名 1.变量命中的第一个单词小写,其后的每个单词的第一个字母大写 2.用名词命名变量 3.集合引用名要用复数形式...4.为不重要的临时变量简历并使用一套标准名字 字段命名 1.使用this字段变量可以区分开局部变量 参数命名 1.构造函数或者”set”方法给字段分配参数赋值,参数名应该字段名相同 常量命名 1...、不变条件编写文档 5.为已知的缺陷不足编写文档 6.为同步语法编写文档 内部注释 1.仅添加有助于理解你的代码的内部注释 2.描写代码为什么这样做,而不是在做什么 3.避免使用行尾注释 4.用行尾注释解释局部变量声明...2.不要从构造函数中调用非final方法 3.用嵌套的构造函数消除冗余代码 异常处理 1.使用不受检查、运行时的异常来报告可能在程序逻辑中出错的严重未查明错误 2.使用检查异常来报告可能发生,而在正常的程序运行时极少发生的错误...3.用返回代码报告可预知的状态改变 4.仅转化异常来添加信息 5.不要私自处置运行时或者错误异常 6.用finally语句块释放资源 断言 1.按照约定编程 2.用无用代码消除机制实现断言 3.用断言捕捉代码中的逻辑错误

    81140

    优秀 Java 程序员写代码的风格

    2.用动词命名方法 3.遵循JavaBean中命名属性访问函数方法:set,get,is 变量命名 1.变量命中的第一个单词小写,其后的每个单词的第一个字母大写 2.用名词命名变量 3.集合引用名要用复数形式...4.为不重要的临时变量简历并使用一套标准名字 字段命名 1.使用this字段变量可以区分开局部变量 参数命名 1.构造函数或者”set”方法给字段分配参数赋值,参数名应该字段名相同 常量命名 1...、不变条件编写文档 5.为已知的缺陷不足编写文档 6.为同步语法编写文档 内部注释 1.仅添加有助于理解你的代码的内部注释 2.描写代码为什么这样做,而不是在做什么 3.避免使用行尾注释 4.用行尾注释解释局部变量声明...2.不要从构造函数中调用非final方法 3.用嵌套的构造函数消除冗余代码 异常处理 1.使用不受检查、运行时的异常来报告可能在程序逻辑中出错的严重未查明错误 2.使用检查异常来报告可能发生,而在正常的程序运行时极少发生的错误...3.用返回代码报告可预知的状态改变 4.仅转化异常来添加信息 5.不要私自处置运行时或者错误异常 6.用finally语句块释放资源 断言 1.按照约定编程 2.用无用代码消除机制实现断言 3.用断言捕捉代码中的逻辑错误

    88630

    PHP全栈学习笔记15

    什么编码规范 PHP书写规则 PHP命名规则 缩进 大括号{} 关键字、小括号、函数、运算符 PHP命名规则 类命名 使用大写字母作为词的分隔,其他的字母均使用小写 名字的首字母使用大写...不要使用下划线('_') 类属性命名 属性命名应该以字符“m”为前缀 方法命名 Is (判断),Get(得到),Set(设置) 方法中参数命名 第一个字符使用小写字母 function EchoWord...PHP 免费的,并且使用非常广泛 PHP 语法非常类似于 Perl C。...PHP 常常搭配 Apache (web 服务器) 一起使用。不过它也支持 ISAPI,并且可以运行于 Windows 的微软 IIS 平台 什么 MySQL?...image.png 逻辑运算符 ? image.png 比较运算符 ? image.png 运算符的优先顺序 ?

    1.3K30

    PHP八大设计模式「建议收藏」

    大家好,又见面了,我你们的朋友全栈君。 PHP命名空间 可以更好地组织代码,与Java中的包类似。 Test1.php <?...::操作符只能访问静态变量和静态函数 new对象都会消耗内存 使用场景:最常用的地方数据库连接。...类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 首先定义一个接口(有几个方法,以及相应的参数)。...首先声明策略的接口文件,约定了策略的包含的行为。然后,定义各个具体的策略实现类。 UserStrategy.php <?php /* * 声明策略文件的接口,约定策略包含的行为。...传统的编程方式,就是在事件的代码之后直接加入处理的逻辑。当更新的逻辑增多之后,代码会变得难以维护。这种方式耦合的,侵入式的,增加新的逻辑需要修改事件的主体代码。

    40330

    react hooks api

    React Hooks 的意思,组件尽量写成纯函数,如果需要外部功能副作用,就用钩子把外部代码"钩"进来。React Hooks 就是那些钩子。 你需要什么功能,就使用什么钩子。...所有的钩子都是为函数引入外部功能,所以 React 约定,钩子一律使用use前缀命名,便于识别。你要使用 xxx 功能,钩子就命名为 usexxx。...第二个成员一个函数,用来更新状态,约定是set前缀加上状态的变量名(上例setButtonText)。...()的基本用法,它接受 Reducer 函数状态的初始值作为参数,返回一个数组。...3.5 自定义hook 自定义 Hook 的命名有讲究,必须以use开头,在里面可以调用其它的 Hook。入参返回值都可以根据需要自定义,没有特殊的约定

    2.7K10

    tp框架的特性_tp5框架

    (PublicApplication里面原有自带的文件可以删除,相当于两个空的文件夹) 》tp文件夹中的index.php 所有程序的入口文件 》conf->convention.php 配置文件...快捷函数 U(); 创建url地址 thinkphp->conf->convention.php->’URL_MODEL’表示在自动生成路径的时候按照这种模式生成的,并不是表示访问一定要按照这个方式访问...通过url地址模式我们学习到了以下内容: 1.我们学习到了配置变量(核心配置变量conversion.php、当前应用配置变量config.php) 2.快捷函数U(“模块/控制器/方法”) 根据参数...view里的文件夹必须控制器的名字一致的,大小写一致、 》命名空间(相当于一个虚拟的文件夹) 》MVC里有一句话叫做:约定胜于配置 》显示模板的方法在controller父类里面,里面有display...方法,调用display方法后,给出模板路径$this->display(); 》约定:模板的默认名固定的,根据控制器名在view里建一个模板文件夹,再在文件夹里建一个操作方法名一致的文件(.html

    1.5K30
    领券