网页标准化设计使用的优势
- 时间:
- 地点:
2023最新开源城市站群cms系统【万站巅云站群CMS系统源码程序】
精美大气网络公司网站模板,网络公司网站源码,专业网络公司网页设计
西部数码代理平台模板 -西部数码代理价格自动获取
最新一键建站系统源码,saas建站系统源码,自助建站整站源码,站长源码,自助建站系统源码,源码搭建教程,开源自助建站系统,php智能建站系统,可视化网站框架源码
最新首发自助建站系统源码,傻瓜式一键建站系统源码,高度开源支持专业在线自助建站服务平台搭建
巅云拖拽式VUE前端框架4.0,可视化拖拽编辑器,实现了h5可视化拖拽生成工具,前端大屏布局,组件化模板机制
<?php function divide($dividend, $divisor){ return $dividend / $divisor; } echo divide(12, 4); echo divide("sa", "sd");
这段代码乍一看没毛病,但是如果你向它传递「任意」参数,它就会出问题。
写出好的代码是一个学无止境的过程。让我们来改进我们编写 PHP 函数的方式。 看下上面的代码,想想第二个函数调用那里会发生什么情况? 它会接受你输入的任何参数,并且尝试执行然后抛出一个数学错误。 但是我们怎么才能让一个函数严格接收能使其正确执行的参数呢? 现代的 PHP 解决了这个问题,并且有更多妙法能让你的代码质量更进一层,没有 bug。
你可以严格控制你的函数,使其只接收让它正确运行的参数。让我们改变上面的函数定义:
<?php function divide(int $dividend, int $divisor){ return $dividend / $divisor; } echo divide(12, 4); echo divide("sa", "sd");
现在,第二次调用这个函数将会抛出一个致命错误,指出其需要的参数必须是整数类型。你可以用不同的方式处理参数。
<?php // 可选参数 function getName(string $firstName, string $lastName = ""){ return $firstName . " " . $lastName; } echo getName("Muhammad", "Nauman"); // Muhammad Nauman echo getName("Adam"); // Adam function divide(int $dividend, int $divisor = 2){ return $dividend / $divisor; } echo divide(12, 4); // 3 echo divide(12); // 6 // 仅接收 Request 类的实例参数 $request function getReuestParams(Request $request){ return $request->only("name", "email"); }
在定义的时候,将可选参数或带默认值的参数作为最后一个参数。
PHP 7.1 也给可迭代数据介绍了一种伪类型。它能接收任何可迭代的数据。
上图是使用了iterable数据类型的函数。
现在通过代码,我们可以控制的更多了,不是吗?没错,确实如此!
正如你可以控制传递给指定函数的参数类型一样,你也可以控制函数的返回值类型。它能确保你的函数总是返回同一个数据类型,并且不会崩溃。我们改变一下上面的代码:
<?php // 可选参数 function getName(string $firstName, string $lastName = "") : string { return $firstName . " " . $lastName; } echo getName("Muhammad", "Nauman"); // Muhammad Nauman echo getName("Adam"); // Adam function divide(int $dividend, int $divisor = 2) : int { return $dividend / $divisor; } echo divide(12, 4); // 3 echo divide(12); // 6 // 仅接收 Request 类的实例 $request 作为参数 function getReuestParams(Request $request) : array { return $request->only("name", "email"); } // 返回 void 类型 $attribute = 2; function changeAttribute(string &$param, $value) : void { $param = $value; } changeAttribute($attribute, 5); echo $attribute; // 5
PHP 逐渐引入了这些功能,如:5.1 版引入的数组类型作为参数,5.4 版引入的可调用类型(callable type),以及 7.1 版引入的 void 返回类型等。
除了可选参数外,你还可以定义可空(nullable)参数,这意味着你可以定义一种可空参数类型。我们来看个例子:
<?php function nullableParameter(?string $name) { return $name; } echo nullableParameter(null); // 不会返回任何东西 echo nullableParameter("Nauman"); // Nauman echo nullableParameter(); // 致命错误 function nullableParameterWithReturnType(?string $name) : string { return $name; } echo nullableParameter(null); // 致命错误,必须返回 string 类型 echo nullableParameter("Nauman"); // Nauman function nullableReturnType(string $name) : ?string { return $name; } echo nullableParameter(null); // 致命错误,$name 应该是 string 类型 echo nullableParameter("Nauman"); // Nauman
显然,可空参数不是可选参数,你必须传递一个值或者是null。我个人喜欢使用空值作为可选参数,但这取决于你的任务需求。
以上就是浅谈定义一个PHP函数的详细内容,更多关于定义一个PHP函数的资料请关注IT博客社区其它相关文章!
notmore
联系我们
合作或咨询可通过如下方式:
QQ/微信:123456
网址:www.xxxx.cn
微信公众号:车展门票
关于本站
Copyright 车展网 www.xxxx.cn Reserved渝ICP备xxxxxxxx号
关注我们