php语言

你应该学习的10个PHP特性

时间:2024-10-06 03:02:35 php语言 我要投稿
  • 相关推荐

你应该学习的10个PHP特性

  PHP是一种松散类型的编程语言,因此没有提供任何指定输入参数类型和返回值类型的方法。

你应该学习的10个PHP特性

  1、标量类型声明(PHP7)

  PHP是一种松散类型的编程语言,因此没有提供任何指定输入参数类型和返回值类型的方法。 PHP7通过以下语法改变了这个现象:

  function add(int $x, int $y) : int

  {

  return $x + $y;

  }

  echo add(1, 2);

  有效类型为:类/接口名称,self,array(数组),callable(回调类型),bool(布尔型),float(浮点型),int(整型)和string(字符串)。

  2、 — 空接合操作符(PHP7)

  空接合操作符虽然小,但非常好用,是PHP7中新增加的。?? — 只要操作符的左边存在且不为空,就返回左边,否则就返回操作符的右边:

  //$a is not defined

  $b = NULL;

  $c = "abc123";

  echo($a ?? $b ?? $c);

  //Result: abc123

  3、匿名类(PHP7)

  PHP7中还有一个新增的也很不错,那就是匿名类。有时候,我们只是没有必要创建一个命名的类,因为它的名字会导致当前命名空间的膨胀。语法非常简单:

  echo (new class() {

  public function myMethod() {

  return "Hello!";

  }

  })->myMethod();

  //Result: Hello!

  4、Reflection

  Reflection是一个用来获取有关运行时代码信息的强大框架。让你可以对类、接口、函数、方法和扩展执行反向工程,以构建映射引擎,IoC容器或文档框架等等。

  下面是一个获取匿名类所有方法的简单例子:

  $class = new ReflectionClass(new class() {

  public function getText() {

  return "Hello from anonymous class";

  }

  });

  $methods = $class->getMethods();

  var_dump($methods);

  5、短数组初始化

  在用PHP编程的时候,我倾向于大量使用数组,因为它们不仅功能强大,而且简单易用。PHP的5.4.x版本使得更容易初始化:

  $myArray = ["foo", "name" => "bar"];

  6、DateTime类

  PHP的5.2版本附带DateTime类作为首选的操纵和格式化日期和时间的方式。

  7、Lambda表达式/匿名函数

  匿名函数(有时也被称为lambda表达式)是没有指定名称的函数。匿名函数可以被分配给一个变量,如下例所示:

  $sayHi = function($toName) {

  echo("Hi " . $toName);

  };

  $sayHi("Peter");

  8、array_map

  array_map是一个不错的函数,能帮助你对数组中的每个元素执行计算。这在混合了匿名函数/ lambda表达式的时候特别好用。无论你为数组中的元素提供什么方法,array_map函数都适用:

  $nameLengths = array_map(function($item) {

  return strlen($item); }, ["Sue", "Peter", "Michael"]);

  //Result: 3, 5, 7

  需要注意的是,array_map可能会比foreach慢一点儿(特别当混合使用lambda表达式的时候更为明显),所以要慎用于那些非常大的数组。

  9、json_encode()和json_decode()

  我最近倾向于大量使用JSON序列化和反序列化。PHP的json_encode和json_decode函数对此提供了大力支持。需要注意的是,json_encode会忽略私有成员:

  class car {

  public $make = "Tesla";

  public $model ="Model S";

  private $errorCodes = ['34343', '545344'];

  }

  $carAsJson = json_encode(new car());

  //Result: {"make":"Tesla","model":"Model S"}

  10、密码的哈希(hashing)和验证

  PHP通过password_hash和password_verify函数,用一种安全的方式来大力支持密码的哈希和验证。因为使用非常简单,所以我们就没有必要重新发明轮子了。

  PHP程序员必知的10个特性。

【你应该学习的10个PHP特性】相关文章:

10个你应该学习使用的PHP特性12-04

PHP语言的特性有哪些12-22

零基础学习PHP应该怎么学11-17

PHP是做什么的 如何学习PHP03-02

如何学习php语言12-02

php的curl学习总结03-31

怎样学习PHP内容03-02

对php一些服务器端特性配置来加强php的安全12-04

PHP是世界上最应该选择的语言03-02