http://php.net/manual/zh/language.oop5.typehinting.php
在強類型語言中,類型約束是語法上的要求,即定義一個變量的時候,必須指定類型,并以后也只能存儲該類型數據;
php是弱類型,其特點是無需為變量指定類型,而且在其后也可以存儲任何類型,不過在php的新語法中,在某些特定場合,針對某些特定類型,也可進行語法約束。
特定場合:函數(方法)的形參變量
特定類型:對象類型(類名)、接口類型(接口名)、數組類型(array)、函數類型(callable)
```
function f(類名 $p){}
// 要求參數只能使用該類的對象
function f(接口名 $p){}
// 要求該參數只能使用實現該接口的對象
function f(arrary $p){}
// 要求該參數只能使用數組
function f(callable $p)
// 要求該參數只能是一個函數(方法),此時稱之為回調函數(方法)
```
- 空白目錄
- 安裝
- linux下安裝nginx
- linux下安裝php
- 調試
- windows 安裝wamp
- 常用源
- 類型
- Boolean布爾類型
- Integer整型
- Float浮點型
- String字符串
- Array數組
- Object對象
- Resource資源類型
- NULL
- Callback/Callable類型
- 類型轉換
- 變量
- 預定義變量
- 常量
- 魔術常量(預定義常量)
- 語法
- 運算符
- 流程控制
- 條件語句
- if
- else
- else if/elseif
- switch
- 循環語句
- while
- do-while
- for
- foreach
- break
- return
- continue
- require
- include
- require_once
- include_once
- 函數
- 內置函數
- 匿名函數
- 自定義函數
- 類與對象
- 屬性
- 聲明
- public
- protected
- private
- 類常量
- 方法
- 魔術方法
- __construct()
- __destruct()
- __call()
- __callStatic()
- __get()
- __set()
- __isset()
- __unset()
- __sleep()
- __wakeup()
- __toString()
- __invoke()
- __set_state()
- __clone()
- __debugInfo()
- 方法的調用
- ->(對象運算符)
- ::(范圍解析操作符)
- 設計模式
- 依賴注入
- call_user_func
- is_callable (
- 創建型模式
- 工廠方法模式
- 抽象工廠模式
- 單例模式
- 建造者模式
- 原型模式
- 結構性模式
- 適配器模式
- 裝飾器模式
- 代理模式
- 外觀模式
- 橋接模式
- 組合模式
- 享元模式
- 行為型模式
- 策略模式
- 模板方法模式
- 觀察者模式
- 迭代子模式
- 責任鏈模式
- 命令模式
- 備忘錄模式
- 訪問者模式
- 中介者模式
- 解釋器模式
- 六大原則
- uml語言
- 反射
- 類型約束
- 調試
- lamp
- lnmp
- composer
- 工作常用
- UML圖
- 常見問題