Giới thiệu.
Nội dung
Các kiểu đơn.Các kiểu đơn được hỗ trợ bắt đầu từ bản versio php7.1, nhưng không phải kiểu đơn nào cũng được hỗ trợ từ version 7.1, nhưng nó cũng được thêm vào và hoàn thiện dần cho đến vesion 8. Chúng ta sẽ có các kiểu đơn như sau: Class/interface nameMô tả: Giá trị thuộc kiểu này phải là một thể hiện của class hoặc interface. Ví dụ: public function hocvien() : Person; Như trong ví dụ trên, thì giá trị trả về của hàm hocvien bắt buộc phải là thể hiện của class Person.: Giá trị thuộc kiểu này phải là một thể hiện của class hoặc interface. Ví dụ: public function hocvien() : Person; Như trong ví dụ trên, thì giá trị trả về của hàm hocvien bắt buộc phải là thể hiện của class Person. selfMô tả: Giá trị thuộc kiểu này phải giống với tên class mà nó được khai báo và sử dụng. Và nó cũng chỉ được sử dụng chỉ trong class đó thôi.: Giá trị thuộc kiểu này phải giống với tên class mà nó được khai báo và sử dụng. Và nó cũng chỉ được sử dụng chỉ trong class đó thôi. parentMô tả: Giá trị thuộc kiểu này phải giống với tên class cha của class mà nó được khai báo và sử dụng. Chỉ sử dụng cho các class.: Giá trị thuộc kiểu này phải giống với tên class cha của class mà nó được khai báo và sử dụng. Chỉ sử dụng cho các class. arrayMô tả: Giá trị phải là một mảng.: Giá trị phải là một mảng. callableMô tả: Gía trị phải là một callable khả dụng. Không thể sử dụng kiểu này để khai báo kiểu của thuộc tính trong một lớp: Gía trị phải là một callable khả dụng. Không thể sử dụng kiểu này để khai báo kiểu của thuộc tính trong một lớp boolMô tả: Giá trị phải là kiểu boolean.: Giá trị phải là kiểu boolean. floatMô tả: Giá trị phải là kiểu số thực: Giá trị phải là kiểu số thực intMô tả : Giá trị phải là kiểu số nguyên (integer) : Giá trị phải là kiểu số nguyên (integer) stringMô tả: Giá trị phải là một chuỗi: Giá trị phải là một chuỗi iterableMô tả: Giá trị ít nhất là mảng hoặc là một thể hiện của Traversable, hỗ trợ từ version 7.1: Giá trị ít nhất là mảng hoặc là một thể hiện của Traversable, hỗ trợ từ version 7.1 objectMô tả: Giá trị phải là một đối tượng (object), hỗ trợ từ version 7.2: Giá trị phải là một đối tượng (object), hỗ trợ từ version 7.2 mixedMô tả: Giá trị có thể là bất kỳ, hỗ trợ từ verssion 8 Chú ý: Các kiểu cơ bản không được hỗ trợ. Ví dụ như chúng ta không thể khai báo một tham số kiểu boolean thay vì khai báo chính xác kiểu của nó là bool được. Kiểu mixed có thể là union type, array, bool, callble, int, float, string, object, resource, null: Giá trị có thể là bất kỳ, hỗ trợ từ verssion 8 Chú ý: Các kiểu cơ bản không được hỗ trợ. Ví dụ như chúng ta không thể khai báo một tham số kiểu boolean thay vì khai báo chính xác kiểu của nó là bool được. Kiểu mixed có thể là union type, array, bool, callble, int, float, string, object, resource, null Ví dụVí dụ 1: Khai báo kiểu tham số là một class.
thì chúng ta sẽ có output báo lỗi như sau
Ví dụ 2: Khai báo kiểu là interface
Ví dụ 3: Khai báo về kiểu trả về của function
Như vậy output sẽ là 3, nhưng là kiểu số thực, không phải kiểu integer. Ví dụ 4: Kiểu trả về của một function là object
Output của đoạn code trên sẽ như sau
Kết luậnTham khảo thêm tài document Các phần sau sẽ bổ sung thêm về nullable và type union |