- 相關(guān)推薦
PHP語言的使用特性
PHP是一種HTML內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,那么PHP語言的使用特性有哪些呢,一起來看看!
1)標(biāo)量類型聲明(PHP7)
PHP是一種松散類型的編程語言,因此沒有提供任何指定輸入?yún)?shù)類型和返回值類型的方法。 PHP7通過以下語法改變了這個現(xiàn)象:
function add(int $x, int $y) : int{ return $x + $y;}echo add(1, 2);
有效類型為:類/接口名稱,self,array(數(shù)組),callable(回調(diào)類型),bool(布爾型),float(浮點(diǎn)型),int(整型)和string(字符串)。
2) — 空接合操作符(PHP7)
空接合操作符雖然小,但非常好用,是PHP7中新增加的。 — 只要操作符的左邊存在且不為空,就返回左邊,否則就返回操作符的右邊:
//$a is not defined$b = NULL;$c = "abc123";echo($a $b $c);//Result: abc123
3)匿名類(PHP7)
PHP7中還有一個新增的也很不錯,那就是匿名類。有時候,我們只是沒有必要創(chuàng)建一個命名的類,因?yàn)樗拿謺䦟?dǎo)致當(dāng)前命名空間的膨脹。語法非常簡單:
echo (new class() { public function myMethod() { return "Hello!"; }})->myMethod();//Result: Hello!
4)Reflection
Reflection是一個用來獲取有關(guān)運(yùn)行時代碼信息的強(qiáng)大框架。讓你可以對類、接口、函數(shù)、方法和擴(kuò)展執(zhí)行反向工程,以構(gòu)建映射引擎,IoC容器或文檔框架等等。
下面是一個獲取匿名類所有方法的簡單例子:
$class = new ReflectionClass(new class() { public function getText() { return "Hello from anonymous class"; }});$methods = $class->getMethods();var_dump($methods);
5)短數(shù)組初始化
在用PHP編程的時候,我傾向于大量使用數(shù)組,因?yàn)樗鼈儾粌H功能強(qiáng)大,而且簡單易用。PHP的5.4.x版本使得更容易初始化:
$myArray = ["foo", "name" => "bar"];
6)DateTime類
PHP的5.2版本附帶DateTime類作為首選的操縱和格式化日期和時間的方式。
7)Lambda表達(dá)式/匿名函數(shù)
匿名函數(shù)(有時也被稱為lambda表達(dá)式)是沒有指定名稱的函數(shù)。匿名函數(shù)可以被分配給一個變量,如下例所示:
$sayHi = function($toName) { echo("Hi " . $toName);};$sayHi("Peter");
8)array_map
array_map是一個不錯的函數(shù),能幫助你對數(shù)組中的每個元素執(zhí)行計算。這在混合了匿名函數(shù)/ lambda表達(dá)式的時候特別好用。無論你為數(shù)組中的元素提供什么方法,array_map函數(shù)都適用:
$nameLengths = array_map(function($item) { return strlen($item); }, ["Sue", "Peter", "Michael"]);//Result: 3, 5, 7
需要注意的是,array_map可能會比foreach慢一點(diǎn)兒(特別當(dāng)混合使用lambda表達(dá)式的時候更為明顯),所以要慎用于那些非常大的數(shù)組。
9)json_encode()和json_decode()
最近傾向于大量使用JSON序列化和反序列化。PHP的json_encode和json_decode函數(shù)對此提供了大力支持。需要注意的是,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)和驗(yàn)證
PHP通過password_hash和password_verify函數(shù),用一種安全的方式來大力支持密碼的哈希和驗(yàn)證。因?yàn)槭褂梅浅:唵危晕覀兙蜎]有必要重新發(fā)明輪子了。
【PHP語言的使用特性】相關(guān)文章:
PHP語言有哪些特性09-19
PHP語言的特性有哪些06-04
10個你應(yīng)該學(xué)習(xí)使用的PHP特性07-27
PHP語言最令人抓狂的十二種特性07-10
PHP語言最令人“抓狂”的十二種特性08-06
在PHP語言中使用JSON09-14
Session在PHP中的使用07-24
如何使用PHP框架09-12