<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            你應該學習的10個PHP特性

            時間:2025-05-28 14:21:37 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特性07-27

            PHP語言的使用特性10-18

            新手應該如何學習PHP語言09-19

            PHP應該如何系統學習11-04

            零基礎學習PHP應該怎么學習08-24

            PHP語言有哪些特性09-19

            PHP語言的特性有哪些06-04

            學習PHP語言應該知道的那些事06-26

            零基礎學習PHP應該怎么學10-20

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看