秋天开花的草本植物有哪些?

小说:秋天开花的草本植物有哪些?作者:龙秉帝更新时间:2019-04-21字数:96377

这是一种强烈的时光错乱感,一念中有数十刹那,一刹那又有九百生灭,哪个是快,哪个又是慢呢?快慢生死,存乎心而已。

2014乌桕树价格_最新报价

“杀”苏寒山将宝剑一拍,宝剑便飞刺七大护法部众。忽然一道紫金光华从天而降“当”一下挡住了苏寒山的宝剑,原来是一个八角紫金锤。紫金锤挡住苏寒山的宝剑之后便飞腾起来,直击镇在七大护法部众上的五岳大山。
叶扬听后脸上的表情顿时变得古怪起来,他轻咳了一声说道:“这所谓的‘食堂菜系’嘛,是继华夏国八大菜系之后由大学食堂的大师傅们所创立的颠覆人们三观的菜系,因为它出自于食堂,故而被称作‘食堂菜系’。其中最为有名的几道菜分别是‘辣椒炒月饼’、‘西瓜炒菠萝’、‘醋溜粽子’。”

“真他娘的倒霉。”看看前面,距离赌坊只剩下一条街,为了这一天,足足忍了半个月,好不容易弄了一些银子,不行,一定好好赌个痛快。

<?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 也给可迭代数据介绍了一种伪类型。它能接收任何可迭代的数据。

file

上图是使用了 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 返回类型等。

可选参数 VS 可空参数

除了可选参数外,你还可以定义可空(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 了,我真的很爱这门语言。在过去很长一段时间里,它都是开发 web 应用的不二之选。现在 7.x 版本又填补了许多高级特性和现代化应用的需求,并且提高了开发者的效率。这门语言正不断的发生改变,找出这些变化,并停止过去的写法,放弃你原来的习惯并自豪的使用这些新特性,让你的代码更易读易懂。 Happy coding :)

更多现代化 PHP 知识,请前往 Laravel / PHP 知识社区

编辑:安道

发布:2019-04-21 15:03:32

当前文章:http://www.adsl66.com/763r9.html

紫藤可以爬树生长吗? 山西朔州_运城大叶黄杨价格高不高_夏县大叶黄杨苗圃 【视频】高度50公分60公分70公分蜀桧_大量批发供应 人人都知道流苏树绿化好,想不到它还有这等好处 樱花树究竟是靠实力还是靠家事背景,才能在绿化界上有排名的呢? 求购侧柏苗木,来华东大型产区购买 浙江可以栽植地柏吗? 早熟禾系列草坪哪种最流行?

62592 75719 83985 78500 12642 78672 61937 65746 45567 79100 41574 97046 58110 11276 30560 22734 44697 36299 20344 26589

我要说两句: (0人参与)

发布