程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 看php手冊2015-03-19版後備注,php2015-03-19

看php手冊2015-03-19版後備注,php2015-03-19

編輯:關於PHP編程

看php手冊2015-03-19版後備注,php2015-03-19


類與對象->基本概念:
1,#############################
::class
自 PHP 5.5 起,關鍵詞 class 也可用於類名的解析。使用 ClassName::class 你可以獲取一個字符串,包含了類 ClassName 的完全限定名稱。這對使用了 命名空間 的類尤其有用。
Example #7 類名的解析as stated in the docs is:
<?php
namespace NS {
    class ClassName {
    }
    echo ClassName::class;
}
?>  
以上例程會輸出:
NS\ClassName


2,#############################
Just to be clear: the correct way of validating a classname, as stated in the docs is:
$valid = preg_match('/^[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*$/', $className);

3,#############################
屬性中的變量可以初始化,但是初始化的值必須是常數,這裡的常數是指 PHP 腳本在編譯階段時就可以得到其值,而不依賴於運行時的信息才能求值
PHP 5.3.0 新增 支持Nowdoc聲明類屬性; 不包含變量的heredoc也是可以的,包含變量就錯。


new static() 會遵循繼承關系,new 的是子類
new self()  不會被繼承,new 的是 self 這個詞所在的那個類


###
As of PHP 5.6 you can finally define constant using math expressions, like this one:
<?php

class MyTimer {
     const SEC_PER_DAY = 60 * 60 * 24;
 }

?>

###
自 PHP 5.3.3 起,在命名空間中,與類名同名的方法不再作為構造函數。這一改變不影響不在命名空間中的類。
<?php
namespace Foo;
class Bar {
    public $a;
    public function Bar() {
          $this->a = 'to here';
    }
    public function getA(){
          return $this->a;    
    }
}
$bar = new Bar();
echo $bar->getA();  //空 ; 去掉命名空間則輸出  to here;



###
自 PHP 5.3.0 起,可以通過變量來引用類,該變量的值不能是關鍵字(如 self,parent 和 static)。




帶整理:
self,parent 和 static
 public(公有),protected(受保護)或 private(私有)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved