《總結:PHP開發要點與技巧(1)》要點:
本文介紹了總結:PHP開發要點與技巧(1),希望對您有用。如果有疑問,可以聯系我們。
Opcache:Opcache 來源于Zend Optimizer+改名,主要作用是通過將 PHP 腳本預編譯的字節碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節碼的好處就是省去了每次加載和解析 PHP 腳本的開銷,但是對于I/O開銷如讀寫磁盤文件、讀寫數據庫等并無影響.Opcache 很有可能取代 APC 的位置,雖然沒有 APC 那樣的 user cache 功能.另外 Opcache 可能與eaccelerator、xcache 或 apc 等類似組件相沖突.
PHP-FPM進程池:FastCGI Process Manager 的master process是常駐內存的,在進程池中動態創建并管理多個進程,可以有效控制內存和進程并平滑重載PHP配置,在發生意外情況的時候能夠重新啟動并恢復被破壞的 opcode.參考本人此篇 PHP-FPM進程池探秘 .
數據類型:PHP 支持 9 種原始數據類型:
Lambda表達式(匿名函數)與閉包:Lambda表達式(匿名函數)實現了一次執行且無污染的函數定義,是拋棄型函數并且不維護任何類型的狀態.閉包在匿名函數的基礎上增加了與外部環境的變量交互,通過 use 子句中指定要導入的外部環境變量
單/雙引號、Heredoc、Nowdoc:單引號字符串中只需要轉義單引號(\')、反斜杠(\\),其余原樣輸出;雙引號字符串中的變量將被解析;Heredoc 結構類似于雙引號字符串;Nowdoc類似于單引號字符串,nowdoc 結構和 heredocs 結構使用一樣的標記 <<<, 但是跟在后面的標識符要用單引號括起來,即 <<<'EOT'
字串變量解析:可分為解析和解析.解析和解析.解析就是解析出$引出的有效變量,{}解析則是解析{}中引出的變量
SQL注入風險:以下為列舉部分
大小寫轉換:
二進制平安:C字符串以空字符('\0')為結束標志,這使得C字符串不能保存像圖片、音頻、視頻、壓縮文件這樣的二進制數據,反之則稱作二進制平安的.這個概念在PHP中經常提到,此處只做個簡單解釋.下面是Redis 簡單動態字符串(SDS)的實現,它是二進制平安的:
/ 和 % 以及 ** 運算符:取模運算符%的操作數在運算之前都會轉換成整數(除去小數部分),取模運算符%的結果和被除數的符號(正負號)相同,** 表示乘方運算
運算符優先級:優先級從上到下依次降低
unset() 與 NULL:刪除引用,觸發相應變量容器refcount減一,但在函數中的行為會依賴于想要銷毀的變量的類型而有所不同,比如unset 一個全局變量,則只是局部變量被銷毀,而在調用環境中的變量(包含函數參數引用傳遞的變量)將保持調用 unset 之前一樣的值;unset 變量與給變量賦值NULL不同,變量賦值NULL直接對相應變量容器refcount = 0
pack()與unpack():這兩個函數可用作socket編程時的二進制串編碼/解碼函數
PHP7 - Group Use用法:
PHP7 - NULL合并運算符(??):
PHP7 - 合并比較運算符(<=>):
PHP7 - 用戶層隨機數生成器:更平安方便
PHP7 - declare(strict_type=1):PHP7新增int、float、string和bool這4種標量類型聲明,declare(strict_type=1)將使PHP不在自動對數據類型進行轉換,PHP因此而成為了強類型語言.declare(strict_type=1)必須是文件的第一個語句,只影響當前文件內的全部函數調用,不會影響被它包括(通過include等方式)進來的其他文件.
PHP7 - 可捕獲的Error:PHP7實現了一個全局的throwable接口,本來的Exception和部分Error都實現了這個接口.PHP7中有更多的Error變為可捕獲的Exception返回給開發者,如果不進行捕獲則為Error.
維易PHP培訓學院每天發布《總結:PHP開發要點與技巧(1)》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。