PHP學習-chapter2之php的特性 chapter one php程式碼學習 學習php要多
- 2.1命名空間:
- 避免衝突,放在
- 引用命名空間:use namespace Symphony/Httg 讓
引用命名空間中的某一類:use Oreilly/con as a; 引用命名空間中的函數:use func Oreilly/functionName; 量引用命名空間中的常數:引用空間中的常數CONST_NAME; 多重導入:檔案頭多個use語句 在一個檔案中使用多個命名空間
-
全局命名空間:沒有命名空間的程式碼,例如php原生的Exception類,前面家訪問可以做到告訴php別再當前命名空間中查找,要到全局空間中查找,$ e = new Exception() 完全限定的php類別名稱:(命名空間+類名) 2.2使用介面
介面定義:interface2.2使用介面-
;
-
public function getContent();
-
}
-
- 介面實作public function getId() {
-
return $this->url;
} -
約
狀trait
- 使用性狀的原因,兩個類別需要十分相似的功能結構,如果採用繼承的方式實現,則會破壞原本的類別層次結構,如果使用介面實現,則會導致程式碼重複,因此引入性狀
-
定義性狀:trait MyTrait{
-
花use MyTrait;
-
生成器即一個php函數,並使用yield關鍵字,生成器不傳回值,只產出產生器即一個php函數,並使用yield關鍵字,生成器不傳回值,只產出值,只能向前進的迭代器,適用於迭代大型的資料集。
-
產生器的建立方式:function myGenerator(){
-
yield 'value1';生成器的使用:PHP傳回Generator類別的對象,有利於節省內存,例如需要產生一個10000範圍內的整數,一種方式是在內存中創建10000個整數,而採用生成器迭代,每次只需要佔用一個整數的內存即可。 foreach(myGenerator() as $yieldValue){
-
echo $yieldValue;//輸出value1,value2
和匿名函數-
閉包:創建時封裝周圍狀態的函數,即使閉包所在的環境不存在了,閉包中封裝的狀態依然存在
- 閉包和匿名函數其實是對象,屬於Closure類型的實例
2.6創建閉包 只要變數名稱後面有(,php會查找_invoke()方法,沒有閉包之前只能夠php進行具名回呼 $numbersPlusOne - =
array_map- (
function
- ($number) {
-
return
$number
-
+ 1; }, [1
,-
2 print_r($numbersPlusOne);
// 輸出
-->
-
[2,3,4] cg :function
enclosePerson
- ($name) {return function ($dousCommand
use ($name) { //封裝了name參數
return - %'sprintsprint
- return %'sprintsprint;
$name, $doCommand);
-
}; 附加閉包的狀態:$ this->routes[$routePath]
- = $routeCallback->bindTo($this,CL%物件類型
2.7字節碼快取Zend OPcache
-
2.8PHP內建伺服器
- 2.8PHP內建伺服器
可以設定為php -S 0.0.0.0:4000-
伺服器設定:php -S localhost:4000 -c app/config/php.ini-
由於內建的伺服器不具有.htaccess框架,使用內建的路由腳本來取代php -S localhost:4000 router.php
以上就介紹了PHP學習-chapter2之php的特性,包含了chapter,php學習的內容,希望對PHP教學有興趣的朋友有幫助。
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31